Paramiko 引发“SFTPError:收到垃圾数据包”

问题描述 投票:0回答:2

以下代码:

    t = paramiko.Transport((hostname, port))
    t.connect(username=username, password=password)
    sftp = t.open_sftp_client()

引发此异常:

Traceback (most recent call last):
File "C:\Users\elqstux\workspace\WxPython\FetcchFile.py", line 41, in <module>
sftp = t.open_sftp_client()
File "C:\Python27\lib\site-packages\paramiko\transport.py", line 845, in        open_sftp_client
return SFTPClient.from_transport(self)
File "C:\Python27\lib\site-packages\paramiko\sftp_client.py", line 106, in from_transport
return cls(chan)
File "C:\Python27\lib\site-packages\paramiko\sftp_client.py", line 87, in __init__
server_version = self._send_version()
File "C:\Python27\lib\site-packages\paramiko\sftp.py", line 108, in _send_version
t, data = self._read_packet()
File "C:\Python27\lib\site-packages\paramiko\sftp.py", line 179, in _read_packet
raise SFTPError('Garbage packet received')
SFTPError: Garbage packet received

我的主机的ip是

147.214.16.150
,我使用这个命令在控制台进行测试:

esekilvxen245 [11:03am] [/home/elqstux] -> sftp 147.214.16.150
Connecting to 147.214.16.150...

These computer resources, specifically Internet access and E-mail, are
provided for authorized users only. For legal, security and cost
reasons, utilization and access of resources are monitored and recorded
in log files. All information (whether business or personal) that is
created, received, downloaded, stored, sent or otherwise processed can
be accessed, reviewed, copied, recorded or deleted by Ericsson, in
accordance with approved internal procedures, at any time if deemed
necessary or appropriate, and without advance notice. Any evidence of
unauthorized access or misuse of Ericsson resources may result in
disciplinary actions, including termination of employment or assignment,
and could subject a user to criminal prosecution. Your use of Ericsson's
computer resources constitutes your consent to Ericsson's Policies and
Directives, including the provisions stated above.

IF YOU ARE NOT AN AUTHORIZED USER, PLEASE EXIT IMMEDIATELY

Enter Windows Password: 
Received message too long 1131770482
python sftp paramiko
2个回答
8
投票

我遇到了类似的问题,发现这是由于程序“gvm”的输出造成的。 我通过更改 .bashrc 文件修复了它:

#THIS MUST BE AT THE END OF THE FILE FOR GVM TO WORK!!!
#[[ -s "/home/micron/.gvm/bin/gvm-init.sh" ]] && source "/home/micron/.gvm/bin/gvm-init.sh" <== commented this out.

0
投票

在远程PC中将

&& return
添加到
~/.bashrc

&& return
如果使用 sftp 连接,则不会加载更多内容。

© www.soinside.com 2019 - 2024. All rights reserved.