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

Re: Connection test : Net::SSH::Perl : $ssh->login - detecting failure

by mojotoad (Monsignor)
on Feb 19, 2006 at 07:52 UTC ( #531225=note: print w/replies, xml ) Need Help??


in reply to Connection test : Net::SSH::Perl : $ssh->login - detecting failure

I bumped into this issue a while back. While I'm not sure this is the "best" way, I too ended up relying on cmd() failure to figure out whether I was truly logged in or not. In my case the remote machines were all unix/linux based, so I'd issue a simple "uname -n" and see if I got back the same hostname as I was expecting. If the call to cmd() failed, I'd propagate the failure. If the call to cmd() succeeded but the hostname didn't match...well that was a whole other sort of error (which in my case never happens in practice...but it can't hurt to check).

One thing I noticed with the various calls to Net::SSH::Perl is that there were two ways to fail...ungracefully, which would die/croak...and gracefully, which would return actual error codes and messages. So consider encapsulating the various calls to "things that might fail" within eval blocks. Then you can check $@ along with the various arguments that are returned via the calls to login(), cmd(), etc.

Cheers,
Matt

P.S. I don't happen to have the code in front of me at the moment, but /msg me if you want to check out my 'cascading' failure with Net::SSH::Perl that pretty much guarantees a working connection or a meaningful error. I'll repost it on request (but don't feel like re-writing it on the fly).

  • Comment on Re: Connection test : Net::SSH::Perl : $ssh->login - detecting failure

Replies are listed 'Best First'.
Re^2: Connection test : Net::SSH::Perl : $ssh->login - detecting failure
by jxh (Acolyte) on Feb 21, 2006 at 19:53 UTC
    Hi all, have wrapped in eval an it is now functioning satisfactorily. ( And I have learnt eval as Im still fairly new to this ! ) Case closed. Thanks again.

    NB - I now have a separate issue, getting error : Protocol error: expected packet type 20, got 93 at C:/Perl/site/lib/Net/SSH/Perl/Packet.pm line 221 when connecting. Can anyone give me any pointers ?

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://531225]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (7)
As of 2020-07-06 20:53 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?