[pyar] Problema para conectarme a Servidor SSH con python
Marcos Dione
mdione en grulic.org.ar
Jue Jul 21 16:32:34 ART 2016
On Thu, Jul 21, 2016 at 01:54:18PM -0400, José de Jesus Marquez Rangel wrote:
> Actualmente me encuentro conectandome a servidor que esta en la misma red,
> la conexión es éxitosa cuando me conecto con aplicaciones como: ssh, putty,
> etc.
y éstas tiene algún parámetro especial?
> Consulte con un compañero y el logro conectarse con una librería en
> *Delphi*, ya que los equipos tiene una configuración distinta a la que
> podemos encontrar en servidores linux
mas o menos qué sería esa configuraci[on distinta? no creo que el
hecho de usar delphi permita mas cosas que con paramiko. estás hablando
siempre del mismo servidor/puerto/user/passwd/etc?
> Realizado pruebas tanto al equipo que se quiere conectar como al servidor
> linux de prueba. Utilizando las distintas librerias que te ofrece python
> obtuve los siguientes resultados:
>
> *Debian(Linux):*
> --------------------------------------------------------------
> PARAMIKO LINUX
> Paramiko. Conexión éxitosa.
Entiendo qu esto es conectándote al 'servidor linux de prueba'. Es
así?
> DEB [20160721-10:13:54.454] thr=1 paramiko.transport: Dropping user
> packet because connection is dead.
esto ya no suena tan bien...
> *Equipo(Por medidas de seguridad desconozco el equipo y la
> configuraciones).*
si es por seguridad es que no deberías poder conectarte?
> - Paramiko. "paramiko.ssh_exception.SSHException: Channel closed."
> DEB [20160721-09:55:40.913] thr=1 paramiko.transport: userauth is OK
> INF [20160721-09:55:40.927] thr=1 paramiko.transport: Authentication
> (password) successful!
cool, acá veo que sí anduvo. y no veo la excepción que mostrás ahí
arriba... sería mejor si pasaras la salida de tu programa completo sin
ninguna edición, así podemos ver los mensajes en orden cronológico, y
eventualmente el stack trace que tira...
> INF [20160721-09:55:40.954] thr=1 paramiko.transport: Disconnect
> (code 2): Service not available: OHAZ;
no sé qué es OHAZ...
> -------------------------------------------------------------
> PARAMIKO EQUIPO
acá ya no entiendo, si la prueba anterior es contra el equipo (qué
equipo es, a todo esto?), ésta qué es?
> try:
> ssh.connect('XX.XX.XX.X', username='XXXXX',
> password='',port=22)
^^^^^^^^^^^--- el password va acá!
> - subprocess: Conexion éxitosa, pero no se como colocar el password
>
> Log generado:
> Permission denied, please try again.
> Permission denied, please try again.
> Permission denied (password).
> -------------------------------------------------
> import subprocess
>
> con = subprocess.Popen(['ssh','user en host'],stdout=subprocess.PIPE,
> stdin=subprocess.PIPE)
> for line in con.stdout.readlines():
> print(line)
no, esto no te va a andar, porque el binario de ssh no lee de la
stdin sino directamente de la tty. cualquier cosa que trate de usar pipes
para la stdin no te va a funcionar.
> *Descargando Cygwin*
> Para utilizar la libreria pexpect y pxssh.
>
> Me genera el siguiente error
>
> pexpect.TIMEOUT: Timeout exceeded in read_nonblocking().
> --------------------------------------------------------------------------------------------------------
> child = pexpect.spawn("ssh user en host",timeout=120)
> >>> child.logfile = open('some.log','a+')
> >>> child.expect('user en host\'s password:')
> >>> child.sendline("password")
> >>> child.expect('command')
> >>> child.sendline("<")
> pexpect.TIMEOUT: Timeout exceeded in read_nonblocking().
> ---------------------------------------------------------------
>
> Ya realice la sugericia de agregar más tiempo y no funciono a la
> read_nonblocking().
lo mismo de recién, seguro que pexpect usa pipe. no te veo usando
pxssh.
> Paramiko. "paramiko.ssh_exception.SSHException: Channel closed."
> spur: "paramiko.ssh_exception.SSHException: Channel closed."
evidentemente spur (que no veo el ejemplo) usa paramiko por debajo,
así que no es raro que palme de la misma forma.
> pexcepet: ImportError: Can't import name "spawn"
esto no es el error que mencionaste antes. de dónde sale?
lo mejor que podés hacer es ordenar mejor los ejemplos y pegar toda
la salida de sus ejecuciones, así va a ser mas fácil ayudarte.
--
(Not so) Random fortune:
Terrorism isn't a crime against people or property. It's a crime against
our minds, using the death of innocents and destruction of property to
make us fearful.
-- Bruce Schneier
Más información sobre la lista de distribución pyar