2

我在打开与 paramiko 的 SFTP 连接时遇到了一些问题。我目前的代码是:

client = SSHClient()
client.set_missing_host_key_policy(AutoAddPolicy())
client.load_system_host_keys()
client.connect('some.example.com', username="myuser", password="mypassword")
sftp_client = client.open_sftp()
sftp_client.put(my_local_file)

但是在我点击 client.open_sftp() 的时候,我得到了一个“无法打开频道”的异常。

知道是什么原因造成的吗?我已经能够使用命令行 sftp 客户端打开与服务器的连接。

我在这里猜测我的调用,如果有人能指出一个例子,那就太好了。

4

1 回答 1

6

您需要首先创建并连接到传输:

transport = Transport((host, port))
transport.connect(username = username, pkey = mykey) # or password = mypassword

现在可以启动 SFTP 客户端:

sftp_client = SFTPClient.from_transport(transport)

那么你也能

sftp_client.put(my_local_file)

当你完成

sftp_client.close()
transport.close()
于 2011-07-27T01:06:12.723 回答