Herramientas de usuario

Herramientas del sitio


informatica:programacion:python:modulos:paramiko

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
informatica:programacion:python:modulos:paramiko [2020/11/10 13:35] – [Conexión con credenciales] tempwininformatica:programacion:python:modulos:paramiko [2020/11/10 13:54] (actual) – [Transferencia de ficheros] tempwin
Línea 21: Línea 21:
  
 # Establecer política por defecto para localizar la llave del host localmente # Establecer política por defecto para localizar la llave del host localmente
 +# Si no lo indicamos y queremos conectarnos mediante usuario y contraseña,
 +# Paramiko mostrará una excepción 'SSHException' porque el servidor al que 
 +# queremos conectarnos no dispone de la clave pública del equipo local
 ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
  
Línea 75: Línea 78:
 print(salida.read()) print(salida.read())
 ssh_client.close() ssh_client.close()
 +</code>
 +
 +Si queremos utilizar otra clave, la tenemos que especificar a la hora de hacer la conexión:
 +
 +<code python>
 +ssh_client.connect(hostname = "123.456.78.90", username = "usuario", key_filename="ruta/clave_privada", port = 22)
 </code> </code>
 ===== Conexión SSH anidada ===== ===== Conexión SSH anidada =====
Línea 109: Línea 118:
 jhost.close() jhost.close()
 vm.close() vm.close()
 +</code>
 +
 +===== Transferencia de ficheros =====
 +
 +<code python>
 +import paramiko
 +
 +ssh = paramiko.SSHClient()
 +ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
 +ssh.connect(hostname = "", username = "", password = "", port = 22)
 +
 +sftp_client = ssh.opensftp()
 +
 +# Listamos las operaciones que podemos realizar sobre el nuevo objeto
 +print(dir(sftp_client))
 +
 +# Descargamos un fichero desde servidor al equipo local
 +sftp_client.get("/ruta/al/archivo/remoto.ext", "/ruta/destino/archivo/local.txt")
 +
 +# Subimos un fichero al servidor SSH
 +sftp_client.put("/ruta/destino/archivo/local.txt", "/ruta/al/archivo/remoto.ext")
 +
 +sftp_client.close()
 +ssh.close()
 </code> </code>
informatica/programacion/python/modulos/paramiko.1605011736.txt.gz · Última modificación: por tempwin