[pyar] Problema para conectarme a Servidor SSH con python

José de Jesus Marquez Rangel ing.jdj en gmail.com
Jue Jul 21 16:54:02 ART 2016


Voy a comentar paramiko, no existen ningún parametro en especial


from paramiko import SSHClient, AutoAddPolicy, util,Transport
import traceback

log_filename='log.log'

ssh = SSHClient()
util.log_to_file(log_filename)
ssh.set_missing_host_key_policy(AutoAddPolicy())

#MssBTO01
try:

    v
ssh.connect('XX.XX.XX.X', username='XXXXX',
    password='',port=22)


    command = 'ZAHO;'
    (stdin, stdout, stderr) = ssh.exec_command("ZAHO;")

except Exception as e:
    print(traceback.print_exc())
    print(e)
finally:
    ssh.close()







C:\Users\e09668\Aplicativo1\Scripts\python.exe
C:/Users/e09668/PycharmProjects/Aplicativo1/conexion.py
Traceback (most recent call last):
  File "C:/Users/e09668/PycharmProjects/Aplicativo1/conexion.py", line 17,
in <module>
    (stdin, stdout, stderr) = ssh.exec_command("ZAHO;")
  File "c:\python34\lib\site-packages\paramiko\client.py", line 424, in
exec_command
    chan.exec_command(command)
  File "c:\python34\lib\site-packages\paramiko\channel.py", line 60, in
_check
    return func(self, *args, **kwds)
  File "c:\python34\lib\site-packages\paramiko\channel.py", line 234, in
exec_command
    self._wait_for_event()
  File "c:\python34\lib\site-packages\paramiko\channel.py", line 1103, in
_wait_for_event
    raise e
paramiko.ssh_exception.SSHException: Channel closed.
None
Channel closed.





prompt  del servidor que me estoy conectado.
MAIN LEVEL COMMAND <___>
<



El 21 de julio de 2016, 15:32, Marcos Dione <mdione en grulic.org.ar> escribió:

> 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
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20160721/85970bd8/attachment.html>


Más información sobre la lista de distribución pyar