我正在Linux服务器上执行一个Python脚本,该脚本使用PySTFP连接到另一台服务器,以便读取位于该远程服务器目录中的文件。当我运行脚本时,它在连接到远程服务器时失败,并创建一个标题为“此服务仅允许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是否在某个时候使用SSH,而它应该只使用SFTP?
原来这个问题是因为我在剧本中表演了sftp.execute(“ls”)几行。我正在远程处理的服务器只支持sftp命令,该命令被禁止。