Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?

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 (Canon) 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
Domain Nodelet?
Node Status?
node history
Node Type: note [id://870547]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (4)
As of 2022-08-08 20:24 GMT
Find Nodes?
    Voting Booth?

    No recent polls found