next up previous contents index practicapracticaPP2moodleLHPmoodlepserratacpanmodulospauseperlgoogleetsiiullpcgull
Sig: Arañas, Análisis de HTML Sup: Módulos para FTP Seguro Ant: Net::SFTP Err: Si hallas una errata ...

Net::SFTP::Foreign

El módulo Net::SFTP::Foreign proporciona un cliente SFTP en Perl. Para ello utiliza un cliente ssh externo. A diferencia de Net::SFTP y de Net::SSH no permite el uso de claves (passwords) como argumentos.
  1 #!/usr/bin/perl -w
  2 use Net::SFTP::Foreign;
  3 use strict;
  4 use Data::Dumper;
  5
  6 our $count = 0;
  7 my ($stdout, $stderr, $exit) = ('', '', '');
  8 my $user = 'XXXX';
  9 my $host = 'YYY';
 10 my $sftp = Net::SFTP::Foreign->new(host=>$host, user=>$user);
 11 $sftp->put('/home/lhp/Lperl/src/ssh/examplesftp.pl', 'borrame.txt');
 12 $sftp->ls('.', sub { print "$_[0]->{filename}\t"; print "\n" if $count++ % 5 == 0 } );
 13 print "\n";
La conexión sftp se crea en la línea 10. El constructor new crea un objeto que representa la conexión abierta. Los métodos get y put permiten mover ficheros entre las máquinas. El método ls nos devuelve una estructura de datos con información específica sobre cada entrada del directorio. Los tres métodos admiten un parámetro que referencia a una subrutina que se ejecutará sobre cada entrada.

Sigue el resultado de la ejecución. La apertura de la conexión en la línea 10 hace que se pida el password. Una alternativa es usar claves RSA o DSA.

$ ./examplesftp.pl
DSA host key for IP address '147.83.42.28' not in list of known hosts.
XXXX@YYY's password: # el usuario rellena la password una vez
MANPATH: Undefined variable.
.
..      ar      bin     etc     src
tmp     .ssh    examplesftp.pl  papiguide       work
.pvmcshrc       .DIMEMAS_defalults      .adprc  scratch1        scratch
include .cshrc  unstable        .nanoscshrc     .news_time
.Xauthority     .nqshosts       borrame.txt     .loggg  .login
.sh_history     .exrc   .papi   .ssh2   repository
.profile        .forgex


next up previous contents index practicapracticaPP2moodleLHPmoodlepserratacpanmodulospauseperlgoogleetsiiullpcgull
Sig: Arañas, Análisis de HTML Sup: Módulos para FTP Seguro Ant: Net::SFTP Err: Si hallas una errata ...
Casiano Rodríguez León
2006-02-21