Hola salva, muchas gracias, tenías razón, es por el tema de tener activo el debug, aun así lo comenté en el código, luego lo ejecuté y realiza la tarea sin problemas. Me llamó la atención el mensaje a continuación:
Pseudo-terminal will not be allocated because stdin is not a terminal.
Connection to 10.11.112.3 closed by remote host.
muxclient: master returned too much data (8 > 4)Luego de que salió esa respuesta ejecuta normalmente los comandos. ¿Por qué sucede eso? ¿Debe preocuparme? ¿Es posible que falle? Si cambio por este código a todos mis
scripts y lo ejecuto sobre equipos Juniper, ¿crees que funcionará?
Este es el código con el que probé:
Using perl Syntax Highlighting
#!/usr/bin/perl
#####################################################################################
# Jero2528
# Marzo 2014
#####################################################################################
use Net::OpenSSH;
require '/usr/local/procedimientos.pl';
#$Net::OpenSSH::debug = -1; # activar todo el sistema de trazado
my $cmd = 'show version';
my $host = '10.11.112.3';
my $mensajeerror="";
my $salida;
@conn1 = conectar_ssh($host);
if (($conn1[0])) {
$mensajeerror="Equipo=name, IP=$host, Descripcion=$conn1[0]\n<br>";
print "$mensajeerror\n";
}else
{
#@out=$conn1[1]->capture("enable\n");
#@out=$conn1[1]->capture("show running-config");
#@out=$conn1[1]->system("copy running-config tftp\n");
#@out=$conn1[1]->capture_tunnel({stdin_data =>"200.58.9.10\n"},"$host",22);
### Los anteriores comentarios fueron mis intentos fallidos para lograrlo jejeje ###
@out=$conn1[1]->capture({stdin_data =>"copy running-config tftp\n 10.11.25.135\nnombre_de_mifichero_de_confg\nquit\n"});
foreach $line1 (@out) {
$salida .= "$line1\n";
}
print "----- $host -----\noutput:\n$salida]\nerror:\n$mensajeerror\n";
}
Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
Con esto ya podríamos dar por resuelta mi problemática.
Salva, explorer, estoy muy agradecido por la ayuda que me brindaron, muchísisisisimas gracias.
Desde Colombia, un gran apretón de mano.