El dom, 24-10-2010 a las 09:23 -0430, Alvaro Manrique escribió: > Buenos Dias, > > Igual como los compañeros no he hecho conexiones ssh, pero viendo > tu codigo y la intension que tienes, se me ocurre que lo que debes > hacer es una ves conectado a la maquina 1 puedes por los mismos > comandos ssh colocar el programa en esa maquina, y desde la misma > sesion ejecutarlo para que se conecte a la 2, de esa manera estarias > usando la maquina 1 como puente, que es lo que entiendo de tu idea, > con este planteamiento lo que veo es que tienes que ver como enviarle > los comandos al programa ejecutandose en la maquina 1 y como recuperar > los resultados. > > Seria algo como un cliente servidor, el servidor es el que se va a > ejecutar en la maquina 1 y el cliente seria el de tu maquina, el > servidor recibe tus comandos y te los devuelve, los cuales el cliente > tiene que interpretar. > > Espero te sirva de ayuda. Saludos. > > Si lo que queres es conectrte a la maquina1 y desde la maquina1 conectarte a la maquina2 deberiass mirar pexpect Si lo que queres es conectarte simultaneamente a las maquinas1 y 2 desde tu maquina utiliza multiprocessing
> > El 23/10/10, Daniel Sarmiento <[email protected]> escribió: > > 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 <[email protected]> > > > >> 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 > >> <[email protected]>escribió: > >> > >> 2010/10/24 Manuel Enrique González Ramírez <[email protected]> > >>> > >>> 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 > >> [email protected] > >> http://mail.python.org/mailman/listinfo/python-es > >> FAQ: http://python-es-faq.wikidot.com/ > >> > >> > > > _______________________________________________ Python-es mailing list [email protected] http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
