2012-07-16 22 views
12

estoy usando paquetes paramiko de Python para mantener un ssh-conexión con un servidor:¿Cómo transferir un archivo al servidor ssh en una conexión ssh hecha por paramiko?

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

Quiero utilizar este ssh-conexión para transferir un archivo al servidor ssh, ¿cómo puedo hacer?

Al igual que el uso scp a-file [email protected]:filepath comando?

Respuesta

16

Prueba esto:

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

Cuando intento esto, me sale el mensaje de error: objeto 'SSHClient' no tiene atributo 'open_stfp'. – blueberryredbull

+0

@sandwich_messiah: ¿Qué versión de Paramiko usas? Veo que el código funciona bien con el último - 2.1. – Tisho

+0

Estoy usando 2.0.2. Terminé creando un objeto Transporte, creando un SFTPClient desde el transporte y usando ese – blueberryredbull

Cuestiones relacionadas