2012-07-16 10 views
12

Ich verwende Python paramiko Paket eine SSH-Verbindung mit einem Server zu halten:Wie transferiere ich eine Datei auf den ssh Server in einer ssh-Verbindung von paramiko?

s = paramiko.SSHClient() 
s.set_missing_host_key_policy(paramiko.AutoAddPolicy()) 
s.connect("xxx.xxx.xxx.xxx",22,username=xxx,password='',timeout=4) 

Ich mag diese ssh-Verbindung verwenden, um eine Datei zu SSH-Server zu übertragen, wie kann ich tun?

Genau wie verwenden scp a-file [email protected]:filepath Befehl?

Antwort

16

Try this:

s = paramiko.SSHClient() 
s.set_missing_host_key_policy(paramiko.AutoAddPolicy()) 
s.connect("xxx.xxx.xxx.xxx",22,username=xxx,password='',timeout=4) 

sftp = s.open_sftp() 
sftp.put('/home/me/file.ext', '/remote/home/file.ext') 
+0

Wenn ich das versuche, erhalte ich die Fehlermeldung: 'SSHClient' Objekt hat kein Attribut 'open_stfp'. – blueberryredbull

+0

@sandwich_messiah: Welche Version von Paramiko benutzt du? Ich sehe, dass der Code mit den neuesten - 2,1 funktioniert. – Tisho

+0

Ich benutze 2.0.2. Ich habe am Ende ein Transport-Objekt erstellt, einen SFTPClient aus dem Transport erstellt und mit dem – blueberryredbull