繁体   English   中英

Python模块paramiko无法作为paramiko.Tranport((host,port))。connect(username = username,password = password)连接

[英]Python module paramiko cannot connect as paramiko.Tranport((host,port)).connect(username = username, password = password)

这是一个可以在朋友的计算机上正常工作的示例:

import paramiko

host = "157.178.35.134"
port = 222
username = "stackoverflow"
password = "e2fghK3"

transport = paramiko.Transport((host, port))

transport.connect(username = username, password = password)

sftp = paramiko.SFTPClient.from_transport(transport)

import sys
path = './file.testy'    #server
localpath = '/home/iwtu/test' 
sftp.put(localpath, path)

sftp.close()
transport.close()
print 'Upload done.' 

但是我有以下问题。

>>> import paramiko

Warning (from warnings module):
  File "C:\DevelopingTools\Python\lib\site-packages\Crypto\Util\randpool.py", line 40
    RandomPool_DeprecationWarning)
RandomPool_DeprecationWarning: This application uses RandomPool, which is BROKEN in older releases.  See http://www.pycrypto.org/randpool-broken
>>> host = '157.178.35.134'
>>> port = 222
>>> username = 'stackoverflow'
>>> password = 'e2fghK3'
>>> t = paramiko.Transport((host,port))
>>> t.connect(username = username, password = password)

    Traceback (most recent call last):
      File "<pyshell#6>", line 1, in <module>
        t.connect(username = username, password = password)
      File "C:\DevelopingTools\Python\lib\site-packages\paramiko\transport.py", line 989, in connect
        self.start_client()
      File "C:\DevelopingTools\Python\lib\site-packages\paramiko\transport.py", line 458, in start_client
        raise e
    EOFError

我已经搜索了很多小时,尝试了不同的版本(Arch Linux 64位/ Windows 7 64位,python 2.7 32/64位,python 2.6 32位,paramiko 1.7.6,pycrypto 2.0.1 / 2.1 / 2.2,但是没有任何帮助,我想编写一个简单的sfpt客户端程序来自动下载和删除文件,但我真的很困惑,如果有人可以帮助我,我将非常感谢。

您可以尝试一下,让我知道如何吗:

ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect("157.178.35.13", username="stackoverflow", password="e2fghK3")
ftp=ssh.open_sftp()
path = './file.testy'    #server
localpath = '/home/iwtu/test' 
ftp.put(localpath, path)
ftp.close()

您的朋友在Linux机器上运行它吗? 您是否在Windows计算机上运行它?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM