Python Paramiko没有连接

Python Paramiko没有连接,python,paramiko,Python,Paramiko,我尝试使用paramiko通过sftp将文件上传到服务器 def send_file(server_, port_, user_, passwd_, file_, dir_): """ :return: """ try: transport = paramiko.Transport((server_, int(port_))) transport.connect(username=user_, password=passwd_)

我尝试使用paramiko通过sftp将文件上传到服务器

def send_file(server_, port_, user_, passwd_, file_, dir_):
    """
    :return:
    """
    try:
        transport = paramiko.Transport((server_, int(port_)))
        transport.connect(username=user_, password=passwd_)
        sftp = paramiko.SFTPClient.from_transport(transport)
        sftp.put(file_, dir_)
        sftp.close()
    except RuntimeError, err:
        print(str(err))
如果我执行这个函数,它只是挂起没有响应,没有错误消息,直到套接字超时

凭据是正确的,我使用来自同一台机器和同一网络的sftp和ssh客户端进行了尝试。 我还直接传递了传输和连接值,没有更改。 使用此功能时,服务器上的日志不显示任何连接。 主机密钥位于我的已知\u hosts文件中

try块中的第一条语句成功我向端口\传递了一个字符串而不是int,这会引发异常,第二行似乎有问题

这里有什么问题

提前谢谢

更新1:

我在ipython2中尝试过这个,它很有效。上述函数在PyQt程序中,通过

self.connect(self.b_upload, QtCore.SIGNAL("clicked()"), self.onUpload)
功能onUpload:

def onUpload(self):
    file_, ok = QtGui.QInputDialog.getText(self, 'Input Dialog', 'Datei inklusive Pfad angeben: ')
    server_, port_, user_, passwd_, dir_ = ftpmod.read_config()
    ftpmod.send_file(server_, port_, user_, passwd_, file_, dir_)

您可以使用ssh.open\u sftp通过sftp发送:


所以它是否有效?您还可以尝试加载系统主机密钥:ssh.load\u system\u host\u keys请查看我的更新。这个问题可能不是paramiko问题,而是paramiko问题。见我在原始问题评论中的回答。最后更新:2014-08-25。所以:没有。这似乎是paramiko中的一个bug,请参见[this][1]和[this][2]问题。[1] :[2]:请阅读链接[2],它在'12年仍然存在,问题完全相同,连接线程中有一个锁。所以,再一次:不。
import paramiko
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(
    paramiko.AutoAddPolicy())
ssh.connect(host, username, password)
ftp = ssh.open_sftp()
ftp.put(localpath, remotepath)
ftp.close()