Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number

Re: Net::SSH::Perl failback connection

by tweetiepooh (Hermit)
on Nov 10, 2010 at 10:44 UTC ( #870547=note: print w/replies, xml ) Need Help??

in reply to Net::SSH::Perl failback connection

I have worked a solution. It's not very good in that it stores passwords in the clear in the program and it may have other issues but it does seem to work.
#!/usr/bin/perl -w use strict; use Net::SSH::Perl; my @logins = ( [undef,undef], ["myname","mypass"], ["local","localpw"], ["root",undef], ["root","pass1"], ["root","pass2"], ... ["root","passn] ); my $ssh; <open file with server list> while (my $server = <read from file>) { chomp $server; print $server; if (SSHConnect($server)) { <do some work> } } sub SSHConnect { my $server = shift; my $return = 0; $ssh = Net::SSH::Perl->new($server,protocol=>'2,1'); foreach (@logins) { my ($u,$p) = @{$_}; eval { $ssh->login(); }; if (!$@) { $return = 1; last; }; return $return; }
A better solution may be to put login credentials into the server list (and encrypt this) but at this time I don't know what will work for each server and things can change.

Replies are listed 'Best First'.
Re^2: Net::SSH::Perl failback connection
by afoken (Abbot) on Nov 10, 2010 at 22:32 UTC

    Use public keys instead of passwords. Use sudo instead of logging in directly as root. In a next step, forbid root logins and password authentication in sshd_config.


    Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so". ;-)

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://870547]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others chanting in the Monastery: (4)
As of 2018-05-26 22:17 GMT
Find Nodes?
    Voting Booth?