informatica:programacion:python:modulos:paramiko
¡Esta es una revisión vieja del documento!
Tabla de Contenidos
Paramiko
Paramiko es una implementación en Python del protocolo SSH, ofreciendo funcionalidad de cliente y servidor.
Paramiko permite que el usuario se valide tanto por contraseña como por par de llaves,
SSH
Conexión con credenciales
import paramiko # Inicia un cliente SSH ssh_client = paramiko.SSHClient() # Establecer política por defecto para localizar la llave del host localmente ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) # Conectarse ssh_client.connect('123.456.78.90', 22, 'user', 'secretpassword') # Ejecutar un comando de forma remota capturando entrada, salida y error estándar entrada, salida, error = ssh_client.exec_command('ls -la') # Mostrar la salida estándar en pantalla print salida.read() # Cerrar la conexión ssh_client.close()
Conexión SSH anidada
Si queremos conectarnos a un servidor SSH y después, desde ese servidor, conectarnos a otro.
import paramiko import sys import subprocess # # we instantiate a new object referencing paramiko's SSHClient class # jumphost = "192.168.1.10" server = "192.168.1.11" vm = paramiko.SSHClient() vm.set_missing_host_key_policy(paramiko.AutoAddPolicy()) vm.connect(jumphost, username='root', password='a') # vmtransport = vm.get_transport() server_addr = (server, 22) #edited# jump_host = (jumphost, 22) #edited# jhost = paramiko.SSHClient() jhost.set_missing_host_key_policy(paramiko.AutoAddPolicy()) #jhost.load_host_keys('/home/osmanl/.ssh/known_hosts') #disabled# jhost.connect(server, username='root', password='a', sock=vmchannel) stdin, stdout, stderr = jhost.exec_command("cat /home/server") # print stdout.read() #edited# # jhost.close() vm.close()
informatica/programacion/python/modulos/paramiko.1605010509.txt.gz · Última modificación: por tempwin
