• Publicidad

Problemas con Net::SSH::Perl

Aquí encontrarás todo lo que sea específicamente acerca de módulos de Perl. Ya sea que estás compartiendo tu módulo, un manual o simplemente tienes una duda acerca de alguno.

Problemas con Net::SSH::Perl

Notapor aiske_26 » 2010-01-19 16:02 @709

Hola, necesito ayuda. Tengo un código el cual se conecta vía ssh a una lista de equipos, pero si por algún motivo no puede conectarse el código no sigue a los otros equipos, sino que se cuelga y no continua, ¿qué puedo hacer? Tengo tiempo con esto y no he logrado solventarlo... si puedes ayudarme, gracias de antemano... Mi código es el siguiente:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
($user) = ('usuario');
$pass   = 'pas';
$ssh    = Net::SSH::Perl->new($host);

$ssh->login($user, $pass);
if (! $ssh ) {
    $status_backup = 'ERROR';
    $detalle = 'Problema de Conectividad SSH';
    $cantidad_equipos_errores ++;
}
else {
    open (SECOUT,">&STDOUT");
    open (STDOUT,">>$nombre_archivo");
    ($stdout, $stderr, $exit) = ('' , '', '');
    ($user) = ('usuario');
    $pass = 'pas';

    $ssh = Net::SSH::Perl->new($host,debug=>0);
    $ssh->login($user, $pass);

    $count_connect_sshv1 = 0;
    while ($count_connect_sshv1 < $cantidad_comandos) {
        ($nombre_archivo, $stderr, $exit) =
            $ssh->cmd($comandos[$count_connect_sshv1]);
        print "(($comandos[$count_connect_sshv1]))\n$nombre_archivo";
        $count_connect_sshv1 ++;
    }
    close (SECOUT);
}
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4


Mi código se conecta vía ssh al equipo, y ejecuto una lista de ciertos comandos y la salida lo mando para un archivo...
aiske_26
Perlero nuevo
Perlero nuevo
 
Mensajes: 6
Registrado: 2010-01-19 14:44 @656

Publicidad

Re: problemas con Net::SSH::Perl;

Notapor explorer » 2010-01-19 16:17 @720

Bienvenido a los foros de Perl en Español, aiske_26.

¿Qué error da? ¿En qué línea se bloquea? ¿Sale el mensaje ERROR?

Lo que muestras no es el código completo. Hay muchas variables con valores que no conocemos.

Si es largo, quítale las partes que sabes que funcionan, y publica todo lo demás. Si hay información sensible (nombres de usuario, contraseñas y ordenadores), falséalos.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14477
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: problemas con Net::SSH::Perl;

Notapor aiske_26 » 2010-01-25 15:08 @672

Gracias por la bienvenida...

El detalle es que no me da errores, solo que si no se puede conectar vía SSH no hace nada y se sale... no sé si hay una función que me determine que se haya realizado la sesión bien. Pensé que con este código
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
$ssh = Net::SSH::Perl->new($host);

$ssh->login($user, $pass);
if (! $ssh ) {

}
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Podría verificar si se inició sesión o no, pero no me resulta...
aiske_26
Perlero nuevo
Perlero nuevo
 
Mensajes: 6
Registrado: 2010-01-19 14:44 @656

Re: problemas con Net::SSH::Perl;

Notapor explorer » 2010-01-25 15:52 @703

Modifica la línea

$ssh = Net::SSH::Perl->new($host);

por

$ssh = Net::SSH::Perl->new($host, debug => 1);

y así saldrá información en pantalla. Prueba y nos cuentas.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14477
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: problemas con Net::SSH::Perl;

Notapor aiske_26 » 2010-01-25 16:01 @709

Ya lo había probado y me da el detalle de cómo va la conexión, pero al no poder conectarse por cualquier cosa se sale... Yo por mi parte tengo otro código que es para vía telnet que para verificar la conexión telnet realizo lo siguiente:

$session = new Net::Telnet (Host => $host,Input_log => $nombre_archivo, Timeout => 1200, Errmode => "return");

y me funciona al no establecerse la conexión; algo así necesito pero vía SSH.
aiske_26
Perlero nuevo
Perlero nuevo
 
Mensajes: 6
Registrado: 2010-01-19 14:44 @656

Re: Problemas con Net::SSH::Perl

Notapor explorer » 2010-01-25 16:19 @721

Ejecuta $ssh->sock(); después de hacer la conexión. Si no devuelve nada, es que no se hizo la conexión.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14477
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Problemas con Net::SSH::Perl

Notapor aiske_26 » 2010-01-25 16:52 @744

Hice de la siguiente manera:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
($user) = ('usuario');
$pass   = 'pas';
$ssh    = Net::SSH::Perl->new($host);
$ssh->sock();
if (! $ssh )
{
    $ssh->login($user, $pass);
    $status_backup = 'ERROR';
    $detalle = 'Problema de Conectividad SSH';
    $cantidad_equipos_errores ++;
}
else {
    open (SECOUT,">&STDOUT");
    open (STDOUT,">>$nombre_archivo");
    ($stdout, $stderr, $exit) = ('' , '', '');
    ($user) = ('usuario');
    $pass = 'pas';

    $ssh = Net::SSH::Perl->new($host,debug=>0);
    $ssh->login($user, $pass);

    $count_connect_sshv1 = 0;
    while ($count_connect_sshv1 < $cantidad_comandos) {
        ($nombre_archivo, $stderr, $exit) =
            $ssh->cmd($comandos[$count_connect_sshv1]);
        print "(($comandos[$count_connect_sshv1]))\n$nombre_archivo";
        $count_connect_sshv1 ++;
    }
    close (SECOUT);
}
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


Y pues nada, ahora me sale esto:
Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
Can't connect to 10.120.X.X, port 22: Connection refused at /usr/lib/perl5/site_perl/5.8.8/Net/SSH/Perl.pm line 204, <GEN37> line 1.
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4
aiske_26
Perlero nuevo
Perlero nuevo
 
Mensajes: 6
Registrado: 2010-01-19 14:44 @656

Re: Problemas con Net::SSH::Perl

Notapor explorer » 2010-01-25 19:30 @854

No, no lo estás haciendo como te digo.

Lo que te he dicho es que hagas, por ejemplo:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
if ($ssh->sock()) {
    # sí se hizo la conexión
}
else {
    print "Error en la conexión con $host\n";
}
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Y otra cosa es el mensaje de error, que ya da una pista: se conecta al servidor pero la conexión es rechazada en el mismo puerto 22.

¿Seguro que puedes entrar en esa máquina con el nombre de usuario y contraseña desde la línea de órdenes?
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14477
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Problemas con Net::SSH::Perl

Notapor salva » 2010-01-26 07:17 @345

aiske_26 escribiste:Problemas con Net::SSH::Perl...

Aunque ésta no sea probablemente la causa de tus problemas, debes saber que Net::SSH::Perl está prácticamente abandonado y tiene muchos bugs que nadie piensa corregir.

Hoy en día hay alternativas mucho mejores como Net::SSH2 o Net::OpenSSH... yo personalmente y con gran parcialidad te recomiendo este último :mrgreen:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
use Net::OpenSSH;
for my $host (@hosts) {
  my $ssh = Net::OpenSSH->new($host, user => $user, passwd => $passwd);
  if ($ssh->error) {
    warn "imposible conectar con servidor remoto $host: ". $ssh->error;
    next;
  }
  my ($out, $err) = $ssh->capture2($cmd);
  print "----- $host -----\noutput:\n$out\nerror:\n$err\n";
}
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
Avatar de Usuario
salva
Perlero nuevo
Perlero nuevo
 
Mensajes: 200
Registrado: 2008-01-03 15:19 @680

Re: Problemas con Net::SSH::Perl

Notapor aiske_26 » 2010-01-26 16:19 @721

Buenas... realicé el $ssh->sock() como me indicaste y nada...

Estoy probando con Net::OpenSSH y se muestra esto
Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
WARNING: RSA1 key found for host 200.44.x.x
in /root/.ssh/known_hosts:7
RSA1 key fingerprint e3:6f:80:e6:97:1a:09:41:b2:cf:ae:ac:39:ad:ba:4c.
imposible conectar con servidor remoto 200.44.x.x: unable to establish master SSH connection: the authenticity of the target host can't be established, try loging manually first at funciones_backup.pl line 518.
Exiting subroutine via next at funciones_backup.pl line 519.
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4
aiske_26
Perlero nuevo
Perlero nuevo
 
Mensajes: 6
Registrado: 2010-01-19 14:44 @656

Siguiente

Volver a Módulos

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 4 invitados

cron