Bonjour,
J'utilise un module SFTP pour faire passer des données vers plusieurs destinations.
J'ai un problème lors de la connexion
Ce qui me donne, si je me connecte à 2 endroits (le 1er est bon, le 2nd a un probleme avec le nom du serveur) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 my %args = (user=>$USERNAME, password=>$PASSWORD,debug => 0); print " ---\n"; $sftp = Net::SFTP->new($SERVER,%args) or die "Attention erreur !!\n\n"; print " ...\n";
L'erreur dans le module vient de la : (je ne pense pas que cela serve, mais je le met quand même)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 ./cloner_sftp.pl f2 --- ... --- Net::SSH: Bad host name: ***** at /opt/perl/lib/site_perl/5.8.0/Net/SFTP.pm line 61
J'aurais bien aimé traiter l'erreur... tout du moins afficher "Attention erreur !!"...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 43 sub init { 44 my $sftp = shift; 45 my %param = @_; 46 $sftp->{debug} = delete $param{debug}; 47 $sftp->{status} = SSH2_FX_OK; 48 49 $param{ssh_args} ||= []; 50 $param{ssh_args} = [%{$param{ssh_args}}] 51 if UNIVERSAL::isa($param{ssh_args},'HASH'); 52 53 $param{warn} = 1 if not defined $param{warn}; # default 54 $sftp->{warn_h} = delete $param{warn} || sub {}; # false => ignore 55 $sftp->{warn_h} = sub { carp $_[1] } # true => emit warning 56 if $sftp->{warn_h} and not ref $sftp->{warn_h}; 57 58 $sftp->{_msg_id} = 0; 59 60 my $ssh = Net::SSH::Perl->new($sftp->{host}, protocol => 2, 61 debug => $sftp->{debug}, @{ $param{ssh_args} }); 62 $ssh->login($param{user}, $param{password}, 'supress_shell'); 63 $sftp->{ssh} = $ssh; 64 65 my $channel = $sftp->_open_channel; 66 $sftp->{channel} = $channel; 67 68 $sftp->do_init; 69 70 $sftp; 71 }
Pareil quand j'ai une erreur de mot de passe...
Je pense que la réponse saute aux yeux... Mais je ne la trouve pas...
Merci de votre aide
Bonne journée
Meloo
Partager