猿问

Paramiko紧密连接无法正常工作

我在尝试关闭Paramiko SFTP连接时遇到问题。即使我呼叫关闭连接仍然挂起,我还是通过运行netstat(Windows)进行检查:


netstat -an | find ":22"

和python代码:


ssh = paramiko.SSHClient()

ssh.set_missing_host_key_policy(paramiko.MissingHostKeyPolicy() )

ftp = ssh.open_sftp()

time.sleep(5)

ftp.close()

关闭有效的Paramiko SFTP连接的正确方法是什么?


千巷猫影
浏览 201回答 2
2回答

jeck猫

这是正确的解决方法import paramikossh = paramiko.SSHClient()ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())ssh.connect()ftp = ssh.open_sftp()ftp.close()ssh.close()您需要关闭ssh实例以及sftp。

神不在的星期二

SSHClient.open_sftp在SSH连接中打开虚拟SFTP通道。一个SSH连接中可以有多个通道。因此,关闭一个通道不会关闭整个SSH连接。您需要致电SSHClient.close以关闭物理SSH连接(如果所有通道仍处于打开状态,它将关闭所有通道)。ssh.close()强制性警告:请勿MissingHostKeyPolicy用来盲目接受所有主机密钥。那是一个安全漏洞。您将无法防御MITM攻击。
随时随地看视频慕课网APP

相关分类

Python
我要回答