Mar May 06, 2008 6:50 am
|
 |
fgalves
Perlero Adicto

|
Registrado: 25 Sep 2006
Mensajes: 210
|
|
| Problema durante conexión con SFTP |
|
|
Hola a todos,
Estoy escribiendo un script que se conecte a un entorno remoto mediante el modulo Net::SFTP.
El hecho es que por más que lo intento, siempre obtengo el mismo error:
Permission denied at /usr/perl5/site_perl/5.8.4/Net/SFTP.pm line 62
He aquí el código:
| Perl: | my %args;
$args{user } = "pepe";
$args{password } = "secreto";
my $host = "maquina";
print "Connecting to $host...\n";
my $sftp;
eval {$sftp = Net:: SFTP-> new($host, %args)};
if ($@ ) { print "Sftp connection failed:\n $@\n"; } |
He revisado mil veces el user, host y password y no veo dónde puede estar el problema. Cuando realizo un SFTP manualmente, funciona a la perfección, pero desde mi script no parece funcionar...
¿Alguna sugerencia?
Gracias por adelantado,
Saludos,
Felipe |
|
|
|

Mar May 06, 2008 7:14 am
|
 |
explorer
Moderador

|
Registrado: 24 Jul 2005
Mensajes: 3916
Ubicación: Valladolid, España
|
|
|
|
|
Activa la opción 'debug' para obtener más pistas:
|
|

Mar May 06, 2008 7:29 am
|
 |
fgalves
Perlero Adicto

|
Registrado: 25 Sep 2006
Mensajes: 210
|
|
|
|
|
He aquí la información que me da al activar la opción debug:
| Código: |
Connecting to maquina...
ncefqdev: Reading configuration data /users/fgalves/.ssh/config
ncefqdev: Reading configuration data /etc/ssh_config
ncefqdev: Connecting to maquina, port 22.
ncefqdev: Remote protocol version 1.99, remote software version OpenSSH_3.8p1
ncefqdev: Net::SSH::Perl Version 1.29, protocol version 2.0.
ncefqdev: No compat match: OpenSSH_3.8p1.
ncefqdev: Connection established.
ncefqdev: Sent key-exchange init (KEXINIT), wait response.
ncefqdev: Algorithms, c->s: 3des-cbc hmac-sha1 none
ncefqdev: Algorithms, s->c: 3des-cbc hmac-sha1 none
ncefqdev: Entering Diffie-Hellman Group 1 key exchange.
ncefqdev: Sent DH public key, waiting for reply.
ncefqdev: Received host key, type 'ssh-dss'.
ncefqdev: Host 'maquina' is known and matches the host key.
ncefqdev: Computing shared secret key.
ncefqdev: Verifying server signature.
ncefqdev: Waiting for NEWKEYS message.
ncefqdev: Enabling incoming encryption/MAC/compression.
ncefqdev: Send NEWKEYS, enable outgoing encryption/MAC/compression.
ncefqdev: Sending request for user-authentication service.
ncefqdev: Service accepted: ssh-userauth.
ncefqdev: Trying empty user-authentication request.
ncefqdev: Authentication methods that can continue: publickey,keyboard-interactive.
ncefqdev: Next method to try is publickey.
Permission denied at /usr/perl5/site_perl/5.8.4/Net/SFTP.pm line 62 |
Gracias por adelantado,
Felipe |
|

Mar May 06, 2008 9:11 am
|
 |
explorer
Moderador

|
Registrado: 24 Jul 2005
Mensajes: 3916
Ubicación: Valladolid, España
|
|
|
|
|
¡Respondida!
(Respondida incluso a fgalves) (A veces es muy útil hacer búsquedas en este mismo foro )
La pista me la ha dado la frase Trying empty user-authentication request, con lo que me ha dado la idea de que no se estaba pasando el nombre del usuario. |
|

Mie May 07, 2008 1:23 am
|
 |
fgalves
Perlero Adicto

|
Registrado: 25 Sep 2006
Mensajes: 210
|
|
|
|
|
Gracias por la ayuda Explorer,
No te quepa la menor duda que antes de postear este mensaje, ya había echado un vistazo a mi anterior post al cual haces referencia como "respondida".
Pero el hecho es que si lo examinas con más detalle, no se trata exactamente del mismo problema.
En mi anterior post, estaba cometiendo un error al pasar el hash de argumentos (user, password, ...).
En este nuevo script, he tomado como base el anterior código que me funcionaba a la perfección y siempre me encuentro con el mismo problema: Permission denied at /usr/perl5/site_perl/5.8.4/Net/SFTP.pm line 62
Por lo que dices en tu mensaje anterior, la información mostrada por el debug da a entender que no estoy pasando correctamente los argumentos. He modificado ligeramente mi código y sigo teniendo el mismo problema:
| Perl: | print "Connecting to $host...\n";
my $sftp = Net:: SFTP-> new($host, user => $user, password => $password, debug => 1)
or die "\n$0: ERROR: Cannot connect to $host: $@"; |
Desgraciadamente, sigo teniendo el famoso Trying empty user-authentication request.
¿Alguna sugerencia de cómo pasar los argumentos (user, password) de forma correcta si es que realmente lo estoy haciendo mal?
¡Muchísimas gracias!
Saludos,
Felipe |
|

Mie May 07, 2008 3:35 am
|
 |
fgalves
Perlero Adicto

|
Registrado: 25 Sep 2006
Mensajes: 210
|
|
|
|
|
No estoy 100% seguro, pero parece ser que el problema podría estar relacionado con los métodos de autenticación permitidos en el entorno remoto:
Authentication methods that can continue: publickey,keyboard-interactive.
En otros entornos donde SFTP funciona correctamente, ademas de publickey y keyboard-interactive, he comprobado que existe un tercer método de autenticación: password.
Voy a contactar al administrador y os tengo al corriente.
¡Saludos!
Felipe |
|
Mie May 07, 2008 4:16 am
|
 |
explorer
Moderador

|
Registrado: 24 Jul 2005
Mensajes: 3916
Ubicación: Valladolid, España
|
|
|
|
Powered by phpBB © 2001, 2005 phpBB Group
|