2013-08-12 4 views
6

Den folgenden Code:paramiko wirft "SFTPError: Garbage-Paket empfing"

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

Löst diese Ausnahme:

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 Mein Wirtes ist 147.214.16.150, ich verwende diesen Befehl, um Test in der Konsole verwenden:

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 
+0

Sind Sie zu einer tatsächlichen SFTP-fähigen Host-Anschluss? Haben Sie versucht, die Verbindung mit dem Befehlszeilenprogramm 'sftp' herzustellen? –

+0

@MartijnPieters Ich teste es in der Befehlszeile, die Ausgabe ist "Empfangene Nachricht zu lang 1131770482". – BlackMamba

+0

Dann müssen Sie * diesen * Teil diagnostizieren; Das ist kein Python-Problem. Ihr Zielserver verhält sich falsch. –

Antwort

5

Ich hatte ein ähnliches Problem, und festgestellt, dass es aufgrund der Ausgabe von einem Programm 'gvm' war. Ich reparierte sie durch meine .bashrc Datei zu ändern:

#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. 
+3

Das ist richtig, alles, was bei der Anmeldung in _stdout_ schreibt, wird das FTP-Protokoll durcheinander bringen. –