我正在尝试建立到远程ubuntu机器的sftp连接。我能够建立ssh connection.but,它在open_sftp()抛出了一个异常。
import paramiko
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(hostname=hostname,port=port,username=username,password=password)
sftp = ssh.open_sftp()
paramiko.SSHException:通道关闭
任何人都可以提前帮助me.thanks。
发布于 2015-02-04 17:10:49
上一次我在Paramiko中使用SFTP时,我也遇到了一些问题。我在网上搜索了一下,发现了这个工具:https://github.com/jbardin/scp.py
要使用它:
from scp import SCPClient
import paramiko
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(hostname=hostname,port=port,username=username,password=password)
scpclient = SCPClient(ssh.get_transport(), socket_timeout=15.0)
scpclient.put("my_local_path", "my_remote_path")
发布于 2017-12-21 17:55:58
试试这个:
vim /etc/ssh/sshd_config
取消对此行的注释:
# Subsystem sftp /usr/libexec/openssh/sftp-server
祝好运!
发布于 2018-06-13 05:21:51
在Ubuntu以外的远程操作系统上,yong's solution中列出的注释行可能不存在。在这种情况下,您可以通过将行添加到文件中来修复该问题,并将路径修改为指向远程系统的sftp-server
的正确位置。
在QNX上,我能够通过修改/etc/ssh/sshd_config
文件并在行中添加以下内容来解决此问题:
Subsystem sftp /usr/libexec/sftp-server
尽管与文件的其余部分相比,该行的格式似乎不合时宜,但它仍然被证明是一个成功的解决方案,因为我能够成功地从SSH客户端对象打开一个SFTP客户端,而不会生成SSHException。
https://stackoverflow.com/questions/28317347
复制相似问题