tweetiepooh has asked for the wisdom of the Perl Monks concerning the following question:
I'm trying to write a fairly simple script that will ssh to a remote host, run a command and capture the output. Now the basics are fairly easy but what I need a little help with is the connection phase.
The plan for connection is
- 1) Use ssh keys in memory (ssh-agent)
2) Use my account with known password
3) Use known local account with known password.
4) Use root with my keys
5) Use root with known password from a list
6) Give up and report error.
Now I can trap the $ssh->login with eval{} and that's fine.
Question : how do I chain eval's or whatever mechanism to accomplish this without the program falling over.
use Net::SSH::Perl; while (my $server = <read from file>) { chomp $server; print $server; my $ssh = SSHConnect($server); ... } sub SSHConnect { my $server = shift; my $ssh = Net::SSH::Perl->new($server,protocol=>'2,1'); eval { $ssh->login(); }; if ($@) { warn "Some error message about $server"; }; return $ssh; }
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: Net::SSH::Perl failback connection
by tweetiepooh (Hermit) on Nov 10, 2010 at 10:44 UTC | |
by afoken (Chancellor) on Nov 10, 2010 at 22:32 UTC | |
Re: Net::SSH::Perl failback connection
by aquarium (Curate) on Nov 09, 2010 at 21:51 UTC | |
by tweetiepooh (Hermit) on Nov 10, 2010 at 09:35 UTC |
Back to
Seekers of Perl Wisdom