【问题标题】:python paramiko Issue while closing the connection关闭连接时出现python paramiko问题
【发布时间】:2023-10-08 16:39:01
【问题描述】:

我刚刚尝试与paramiko 建立ssh 连接。 一切看起来都很好,但在最后一步,当调用close() 方法断开客户端时。

这是我的脚本:

#!/usr/bin/python

import paramiko
import os

ssh = paramiko.SSHClient()
private_key = os.path.expanduser('~/.ssh/id_dsa')
mkey = paramiko.DSSKey.from_private_key_file(private_key,password='JacquiKoala')
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('monitor', username='probert', pkey = mkey)
stdin, stdout, stderr = ssh.exec_command('whoami')
print stdout.readlines()
ssh.close

shell只是挂了,我可以输入东西,没有任何结果,Ctrl+CCtrl+D kbd> 不要停止脚本或连接。除了关闭有点脏的 shell 窗口,我别无他法。

我正在运行 Ubuntu 10.10,其中 python 2.6.6paramiko-1.7.4 从源代码编译而来。

我真的不知道会发生什么; close() 方法在执行后也正确执行为 print "blah",没有错误消息,并且仍然连接,没有适当的方法来停止它。

谢谢你帮助我:)

干杯;

菲利普

【问题讨论】:

    标签: python ssh paramiko


    【解决方案1】:

    TL;DR:您没有调用该函数。使用ssh.close() 而不是ssh.close 这样做

    ssh.close 是对该函数的引用。它告诉你函数,它不调用函数。这是一个例子:

    def a():
        return 6
    
    a
    > <function a at 0x108f71aa0>
    a()
    > 6
    

    【讨论】: