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/