Perl en Español

  1. Home
  2. Tutoriales
  3. Foro
  4. Artículos
  5. Donativos
  6. Publicidad
 
Índice general » Mundo Perl » Módulos » Net::SSH::Perl  RESUELTO Responder al tema
Nuevo tema


Página 1 de 2  [ 21 mensajes ]  Ir a página 1, 2  Siguiente
 
Nota Lun Feb 08, 2010 4:51 am

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


Nota Lun Feb 08, 2010 4:55 am
Avatar de Usuario
Administrador
Registrado: Dom Jul 24, 2005 6:12 pm
Ubicación: Valladolid, España
Mensajes: 6870
Re: Net::SSH::Perl  RESUELTO
Bienvenido a los foros de Perl en Español, iduquees.

¿En qué sistema operativo?

_________________
JF^D Perl programming


Nota Lun Feb 08, 2010 5:02 am

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


Nota Lun Feb 08, 2010 5:51 am
Avatar de Usuario
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


Nota Jue Feb 11, 2010 6:30 am

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:
Sintáxis: [ Descargar ] [ Ocultar ]
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


Nota Jue Feb 11, 2010 6:44 am
Avatar de Usuario
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


Nota Vie Feb 12, 2010 5:51 am

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:
Sintáxis: [ Descargar ] [ Ocultar ]
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????


Nota Vie Feb 12, 2010 8:08 am
Avatar de Usuario
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


Nota Vie Feb 12, 2010 8:16 am
Avatar de Usuario
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


Nota Dom Feb 14, 2010 3:02 am
Avatar de Usuario
Perlero Frecuente
Registrado: Jue Ene 03, 2008 3:19 pm
Mensajes: 140
Re: Net::SSH::Perl
iduquees escribió:
Sintáxis: [ Descargar ] [ Ocultar ]
  1. /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.


Nota Lun Feb 22, 2010 5:46 am

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


Nota Lun Feb 22, 2010 6:33 am
Avatar de Usuario
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í!


Nota Lun Feb 22, 2010 6:41 am

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


Nota Lun Feb 22, 2010 6:58 am
Avatar de Usuario
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.


Nota Lun Feb 22, 2010 7:11 am

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.


Responder al tema  [ 21 mensajes ]  Ir a página 1, 2  Siguiente

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

Publicidad

Socializa

Síguenos por Twitter

Suscríbete GRATUITAMENTE al Boletín de Perl en Español

Saltar a:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Traducción al español por Huan Manwë
phpBB SEO