Lun Feb 08, 2010 4:51 am |
|
|
iduquees
Perlero Nuevo
|
Registrado: Lun Ene 25, 2010 10:40 am Mensajes: 10
|
|
|
Net::SSH::Perl
|
|
Hola, tengo un pequeño problema; estoy tratando de realizar una conexión SSH, pero me encuentro con que el módulo Net::SSH::Perl no lo tengo disponible en la librería de módulos para instalarlo. Me podrían decir cómo lo instalo y de dónde lo puedo bajar.
Gracias
|
Lun Feb 08, 2010 5:02 am |
|
|
iduquees
Perlero Nuevo
|
Registrado: Lun Ene 25, 2010 10:40 am Mensajes: 10
|
|
|
Re: Net::SSH::Perl
|
|
Windows XP profesional versión 2002 Service Pack 3. lo compilo en Eclipse.
Gracias
|
Lun Feb 08, 2010 5:51 am |
|
|
 |
explorer
Administrador
|
Registrado: Dom Jul 24, 2005 6:12 pm Ubicación: Valladolid, España Mensajes: 6870
|
|
|
Re: Net::SSH::Perl
|
Por aquí ha salido más de una vez el tema de ese módulo. Aunque en CPAN hay una versión nueva, veo en trouchelle.com que la última versión no está bien, en Windows. Por los foros que hemos hablado, se ha recomendado el uso de otros módulos, como son el Net::SSH2 o Net::OpenSSH (salva, su autor, está por aquí). Pero también tienen problemas a la hora de instalarse en Windows (necesitan de la librería libssh2). En los foros de ActiveState tienes ejemplos de uso con otros módulos, como Net::SSH::W32Perl. La solución parece que está en agregar el repositorio de la Universidad de Winnipeg, y allí tienen los módulos para Windows Net::SSH::Perl y Net::SSH2.
_________________ JF^D Perl programming
|
Jue Feb 11, 2010 6:30 am |
|
|
iduquees
Perlero Nuevo
|
Registrado: Lun Ene 25, 2010 10:40 am Mensajes: 10
|
|
|
Re: Net::SSH::Perl
|
Gracias por tus concejos, al final logré instalar este módulo a través de un repositorio. Ahora tengo un problema más gordo: el script que programé se ejecutará en el WMS de un operador de telefonía móvil, el cual su OS es Solaris 9 o 10. A la hora de ejecutar el script obtengo el siguiente error: Usando Coloreado de text Can't locate Net/SSH/Perl.pm in @INC (@INC contains: /usr/perl5/5.6.1/lib/sun4-solaris-64int /usr/perl5/5.6.1/lib /usr/perl5/site_perl/5.6.1/sun4-solaris-64int /usr/perl5/site_perl/5.6.1 /usr/perl5/site_perl /usr/perl5/vendor_perl/5.6.1/sun4-solaris-64int /usr/perl5/vendor_perl/5.6.1 /usr/perl5/vendor_perl .) at ssh.pl line 1.
BEGIN failed--compilation aborted at ssh.pl line 1. La idea es poder instalar este paquete en el WMS sin que genere ningún impacto. Logré bajarme el paquete del CPAN y explica perfectamente cómo instalarlo, pero mi pregunta es: cuando ejecuto los comandos para instalar, éste se instala en varios sitios del Solaris, ¿hay alguna forma de echar para atrás si algo sale mal? O si es mejor ¿hay alguna otra forma de instalar este paquete de forma más controlada? Gracias por los posibles aportes.
| Última edición por explorer el Jue Feb 11, 2010 6:35 am, editado 1 vez en total |
| Tildes |
|
Jue Feb 11, 2010 6:44 am |
|
|
 |
explorer
Administrador
|
Registrado: Dom Jul 24, 2005 6:12 pm Ubicación: Valladolid, España Mensajes: 6870
|
|
|
Re: Net::SSH::Perl
|
Tanto si usas el comando cpan (que estoy seguro que lo tienes en ese Solaris) o haciendo la cadena de comandos make, para instalarlo, puedes controlar dónde quieres que se instale. Puedes incluso instalarlo en un directorio propio tuyo, por si crees que algo puede salir mal (lo cual dudo mucho), y así borrarlo directamente si no estás convencido. Eso sí, en tus programas deberás usar 'use lib' para indicar la posición de ese nuevo directorio (si no es uno de los que conoce Perl). Ese es justo el error que te muestra: que no encuentra el módulo en ninguno de los directorios predefinidos. En http://www.cpan.org/modules/INSTALL.html tienes, al principio, cómo indicar el sitio de instalación: perl Makefile.PL PREFIX=/my/perl_directory . Lee también el punto 5 del FAQ del módulo CPAN, para el caso de que estés usando el comando cpan.
_________________ JF^D Perl programming
|
Vie Feb 12, 2010 5:51 am |
|
|
iduquees
Perlero Nuevo
|
Registrado: Lun Ene 25, 2010 10:40 am Mensajes: 10
|
|
|
Re: Net::SSH::Perl
|
Realizo el siguiente procedimiento para instalar los módulos necesarios para ejecutar el script: % perl Makefile.PL % make && make test % make install, pero obtengo el siguiente error: Usando Coloreado de text wms:/home/nortel/TME/Net-SSH-Perl-1.34/MIME-Base64-3.09 <162> (nortel) % perl Makefile.PL
Writing Makefile for MIME::Base64
wms:/home/nortel/TME/Net-SSH-Perl-1.34/MIME-Base64-3.09 <163> (nortel) % make && make test
cp Base64.pm blib/lib/MIME/Base64.pm
cp QuotedPrint.pm blib/lib/MIME/QuotedPrint.pm
/bin/perl -I/usr/perl5/5.6.1/lib/sun4-solaris-64int -I/usr/perl5/5.6.1/lib /usr/perl5/5.6.1/lib/ExtUtils/xsubpp -typemap /usr/perl5/5.6.1/lib/ExtUtils/typemap Base64.xs > Base64.xsc && mv Base64.xsc Base64.c
cc -c -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -xO3 -xdepend -DVERSION=\"3.09\" -DXS_VERSION=\"3.09\" -KPIC -I/usr/perl5/5.6.1/lib/sun4-solaris-64int/CORE Base64.c
/usr/ucb/cc: language optional software package not installed
*** Error code 1
make: Fatal error: Command failed for target `Base64.o'
wms:/home/nortel/TME/Net-SSH-Perl-1.34/MIME-Base64-3.09 <164> (nortel) % make install
cc -c -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -xO3 -xdepend -DVERSION=\"3.09\" -DXS_VERSION=\"3.09\" -KPIC -I/usr/perl5/5.6.1/lib/sun4-solaris-64int/CORE Base64.c
/usr/ucb/cc: language optional software package not installed
*** Error code 1
make: Fatal error: Command failed for target `Base64.o' ¿¿¿¿Debo de instalar algo nuevo????
|
Vie Feb 12, 2010 8:08 am |
|
|
 |
explorer
Administrador
|
Registrado: Dom Jul 24, 2005 6:12 pm Ubicación: Valladolid, España Mensajes: 6870
|
|
|
Re: Net::SSH::Perl
|
Según Google, el mensaje de error " language optional software package not installed" quiere decir que no tienes instalado un compilador de C. Quizás debas instalarlo antes. Otra cosa: consulta la página de los CPAN-Testers sobre el módulo Net::SSH::Perl para que veas las versiones de Perl y del módulo que sí funcionan (o se ha probado que funcionan) en tu sistema operativo. ¿Seguro que no se puede conseguir este módulo, ya compilado? En Google me salen un montón de referencias a Net::SSH::Perl y Solaris, pero todo son problemas.
_________________ JF^D Perl programming
|
Vie Feb 12, 2010 8:16 am |
|
|
 |
explorer
Administrador
|
Registrado: Dom Jul 24, 2005 6:12 pm Ubicación: Valladolid, España Mensajes: 6870
|
|
|
Re: Net::SSH::Perl
|
Veo que Net::OpenSSH tiene mejor soporte en Solaris, con la condición de tener instalado el paquete openssh instalado antes (versión v4.1 como mínimo. v5 recomendado). Puede ser otra opción.
_________________ JF^D Perl programming
|
Dom Feb 14, 2010 3:02 am |
|
|
 |
salva
Perlero Frecuente
|
Registrado: Jue Ene 03, 2008 3:19 pm Mensajes: 140
|
|
|
Re: Net::SSH::Perl
|
iduquees escribió: - /usr/ucb/cc: language optional software package not installed
Como bien dice explorer, no tienes instalado el compilador. Tienes que bajártelo de la web de Sun... ¡eh!, ¡¡¡Oracle, quiero decir Oracle!!! http://developers.sun.com/sunstudio/index.jsp.
|
Lun Feb 22, 2010 5:46 am |
|
|
iduquees
Perlero Nuevo
|
Registrado: Lun Ene 25, 2010 10:40 am Mensajes: 10
|
|
|
Re: Net::SSH::Perl
|
|
Antes que nada les agradesco por la constante colaboracion a la solucion o propuestas de posibles soluciones que plantean a cada uno de los foreros.
He estado matandome con este scrip y en verdad que lo unico que hace falta por terminarlo es lograr la conexion ssh, como sabeis es muy sencillo usando el modulo Net::SSH::Perl, pero lastimosamete para instalar este modulo en el WMS hay que instalar una serie de dependencias que a su vez hay que instalar un compilador de C y caresco de permisos para realizar esta serie de instalaciones. En definitiva solo podre usar el modulo Net::SSH, ya que no tiene dependencias y su instalacion no sera tan traumatica como el anterior modulo. Para usar este modulo me encuentro con que nose exactamente como introducir el password. el codigo basico que tendria que generar es el siguiente, pero en la syntaxis no tengo el comando para introducir el passwor.
use Net::SSH qw(issh); issh('localOperator@0.0.0.0', $command);
Alguna sugerencia, o una posible solucion,
Gracias
|
Lun Feb 22, 2010 6:33 am |
|
|
 |
salva
Perlero Frecuente
|
Registrado: Jue Ene 03, 2008 3:19 pm Mensajes: 140
|
|
|
Re: Net::SSH::Perl
|
iduquees escribió: Para usar este modulo me encuentro con que nose exactamente como introducir el password No es que no sepas, ¡es que no se puede! Net::SSH solo admite autenticación por métodos no interactivos y esto en la practica se reduce a utilizar pares de claves asimétricas. Sin un compilador de C no hay mucho que puedas hacer porque las alternativas que te quedan son: Expect que necesita un compilador de C para su dependencia IO::Pty, Net::OpenSSH que tambien depende de IO::Pty para la autenticación con clave, Net::SSH::Expect, que obviamente depende de Expect y Net::SSH2 que necesita compilador de C porque es un wrapper de la librería escrita en C libssh2. Conclusión: ¡necesitas el compilador de C sí o sí!
|
Lun Feb 22, 2010 6:41 am |
|
|
iduquees
Perlero Nuevo
|
Registrado: Lun Ene 25, 2010 10:40 am Mensajes: 10
|
|
|
Re: Net::SSH::Perl
|
|
que noticia tan desagradable...pero bueno, asi es el mundo de los scrips. que compilador me recomiendas y como se instala en solaris?, claro esta que no se si pueda obtener permisos para instalarlo.
gracias
|
Lun Feb 22, 2010 6:58 am |
|
|
 |
salva
Perlero Frecuente
|
Registrado: Jue Ene 03, 2008 3:19 pm Mensajes: 140
|
|
|
Re: Net::SSH::Perl
|
Tampoco es una decisión facil! Si usas el Perl que viene por defecto con Solaris (que si no me equivoco es un ya bastante obsoleto perl 5.8.4) lo mejor es que uses el compilador de Sun, el paquete de Solaris se llama SUNWspro y el nombre comercial me parece que es Sun Studio, antes era gratuito y te lo podias bajar de la web de Sun... pero desde la compra de Oracle no hay quien encuentre nada! Tu otra opción es instalarte gcc (tienes paquetes precompilados en Sun Freeware). El problema es que a veces algunos paquetes de Perl no se compilan bien con un compilador distinto del que se utilizo originalmente para compilar perl. Hace tiempo que no utilizo Solaris, pero si no recuerdo mal es posible instalar los paquetes utilizando un directorio raiz diferente de /. Osea, que podrías instalarlo en tu home siempre que tengas el espacio en disco necesario. También puedes instalar el compilador momentáneamente (o pedirle a un administrador que lo haga), compilar los paquetes Perl que necesites y desintalarlo. Para salir del paso, otra opción es buscarte otra maquina lo mas parecida posible a la que vas a utilizar al final que tenga el compilador instalado. Descomprimir uno a uno los paquetes que tengan código C en la misma, hacer los pasos "perl Makefile.PL" y "make", hacer un tar del modulo en ese estado, copiar el archivo y desempaquetarlo en la maquina final, y ejecutar allí el "make install". Actualización: El Sun Studio te lo puedes bajar de aquí. Necesitas registrarte como miembro del Sun Developer Network (SDN) pero es gratis e inmediato.
|
Lun Feb 22, 2010 7:11 am |
|
|
iduquees
Perlero Nuevo
|
Registrado: Lun Ene 25, 2010 10:40 am Mensajes: 10
|
|
|
Re: Net::SSH::Perl
|
En un comentario anterior me recomendaban este enlace: http://developers.sun.com/sunstudio/index.jsp del cual obtengo tres opciones para instalar y no las tengo muy claro. La versión que se está utilizando es v5.9 o v5.10. La última opción que me das me parece más óptima en mi situación, ya que como te comenté anteriormente, no poseo permisos y será difícil de obtenerlos para instalar este compilador; hay algo que no tengo muy claro: yo ejecutaría perl makefile.pl después make y no sé cuál es el comando exacto para hacer el tar o más bien no sé a cuál archivo hacer el tar.
|
| Reglas del Foro |
No puede abrir nuevos temas en este Foro No puede responder a temas en este Foro No puede editar sus mensajes en este Foro No puede borrar sus mensajes en este Foro No puede enviar adjuntos en este Foro
|
|
Socializa |
 |
|