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.
>
>
> --
> Manuel Enrique González Ramírez
> http://maengora.blogspot.com
>
> _______________________________________________
> 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/

Responder a