Yo he utilzado paramiko para realizar conexion SSH en Python. http://www.lag.net/paramiko/
Se puede aprender bastante de los ejemplos que vienen con la libreria . Espero que sirva, Daniel 2010/10/23 Rarok <raroki...@gmail.com> > Nunca he trabajado con conexiones ssh en python y tengo el python muy > flojo, pero me parece que para hacer varias conexiones a la vez tendrías que > ejecutar varios hilos/procesos o como se llamen para mantener varias > conexiones ssh a la vez. > > El 24 de octubre de 2010 01:17, Alberto Curro > <bertothun...@gmail.com>escribió: > > 2010/10/24 Manuel Enrique González Ramírez <maeng...@gmail.com> >> >> Hola a t...@s. >>> >>> Quisiera saber si me pueden colaborar con lo siguiente: >>> >>> Debo conectarme a una máquina mediante ssh (ya eso está listo) y teniendo >>> la session activa de esta máquina conectarme a otra. Me logro conectar a la >>> primera máquina pero al modificar el código para que se conecte a la >>> siguiente no ocurre nada pero el sistema tampoco me arroja error; podría ser >>> problema de comunicación/red o debo corregir algo en el código. >>> >> >> No estoy puesto en la parte de conexiones SSH desde python, pero juraría >> que eso no funcionará. >> >> A riesgo de meter la pata, diría que una vez tienes el flujo (la conexión) >> establecido con la máquina 1, no puedes conectar a la máquina dos desde la >> máquina 1 usando tu aplicación original (con su conexión). Puedes ejecutar >> comandos (como un ssh), pero no establecer conexiones dependientes. No sé si >> me explico. >> >> Lo dicho, puedo estar completamente equivocado, pero me parece que el >> error está en el concepto. Espero que alguien te pueda echar una mano más >> técnica... >> >> Saludos >> >> >>> >>> Mi otra consulta es: conocen otra librería como la de paramiko pero que >>> funcione con Python 2.7?? >>> >>> >>> #!/usr/bin/env python >>> # -*- coding: iso-8859-1 -*- >>> >>> # Importo las librerías >>> import paramiko >>> import os >>> >>> # Datos para la conexión >>> ssh_servidor = 'maquiina1' >>> ssh_usuario = 'usuario' >>> ssh_clave = '123456' >>> ssh_puerto = 22 >>> comando = 'ls' >>> >>> ssh_servidor2 = 'maquina2' >>> ssh_usuario2 = 'usuario2' >>> ssh_clave2 = '56789' >>> ssh_puerto2 = 22 >>> comando2 = 'ls /opt/archivos/' >>> >>> # Conectamos con el servidor >>> conecta = paramiko.Transport((ssh_servidor,ssh_puerto)) >>> conecta.connect(username=ssh_usuario, password = ssh_clave) >>> >>> # Abrimos una sesión en el servidor >>> canal = conecta.open_session() >>> >>> # Ejecuto el comando de prueba >>> # Debe mostrar los archivos >>> canal.exec_command(comando) >>> >>> # Salida >>> salida = canal.makefile('rb',-1).readlines() >>> if salida: >>> print 'Conectado a MAQUINA 1' >>> print 'Intentando conectar a MAQUINA 2' >>> conecta2 = paramiko.Transport((ssh_servidor2,ssh_puerto2)) >>> conecta2.connect(username=ssh_usuario2, password = ssh_clave2) >>> canal2 = conecta2.open_session() >>> canal2.exec_command(comando2) >>> salida2 = canal.makefile('rb',-1).readlines() >>> if salida2: >>> for i in salida2: >>> print i[:-1] >>> else: >>> print canal2.makefile_stderr('rb',-1).readlines() >>> else: >>> # Mostramos el error >>> print canal.makefile_stderr('rb',-1).readlines() >>> conecta2.close() >>> conecta.close() >>> >>> >>> De antemano, gracias por la colaboración >>> >> > _______________________________________________ > Python-es mailing list > Python-es@python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > >
_______________________________________________ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/