我正在Linux服务器上执行Python脚本,该脚本使用pysftp连接到另一台服务器,以便读取位于该远程服务器目录中的文件。当我运行脚本时,它在连接到远程服务器时失败并创建一个标题为的文本文件:'此服务仅允许sftp连接。'
此文件在我的项目目录中创建。以下是我的代码失败的部分:
def sftp_get_file(sftp_host, sftp_username):
with pysftp.Connection(sftp_host, sftp_username) as sftp:
# transfer file from remote to local
sftp.get(remote_file, local_file)
代码非常简单,并且在我使用本地服务器作为远程服务器进行测试时可以正常运行。当我通过实际依赖SFTP在新环境中测试它时,它失败了。有什么建议?当pysftp应该只使用SFTP时,是否在某些时候使用SSH?
答案 0 :(得分:1)
原来问题是由于我在脚本中执行sftp.execute(' ls')几行。我正在远程访问支持的sftp命令的服务器,该命令被禁止。