Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?
 
PerlMonks  

Re: Run interactive commands with "Net::SSH::Expect"

by molecules (Monk)
on Jan 10, 2011 at 15:28 UTC ( #881484=note: print w/ replies, xml ) Need Help??


in reply to Run interactive commands with "Net::SSH::Expect"

Have you tried changing the pattern for matching the password prompt? Perhaps the following to allow any (or no) number of spaces:

'password:\s*'
Have you tried increasing your timeout?
$ssh->waitfor('password:\s*',100) or die "Where is the password prompt +??";
You might also want to make each error message within your program unique, so that you know for sure where the error is occurring.
$ssh->waitfor('password:\s*',100) or die "Where is the FIRST password +prompt??";


Comment on Re: Run interactive commands with "Net::SSH::Expect"
Select or Download Code
Re^2: Run interactive commands with "Net::SSH::Expect"
by slayedbylucifer (Scribe) on Jan 10, 2011 at 17:45 UTC

    I had tried that option, But I tried it one more time after reading your response....

    I increased the time out period aslo I used "\s*" to match number of spaces. But no luck. Here is hte output:

    # ./change_password.pl The login was successful Let's change the password of root on remote server now

    I am pretty sure that my script is ignoring the "send" statements and then apparently dying.

    Thanks for taking time to provide your feedback.

      OK, I have made some progress. I ran the perl debugger and after the 2nd print statement, the debugger throws following error:

      croak (ILLEGAL_ARGUMENT . " missing argument 'string'.") unless ($send +); croak (ILLEGAL_STATE_NO_SSH_CONNECTION);

      When I look into the "package Net::SSH::Expect", it is mentioned right on the top that:

      use constant ILLEGAL_STATE_NO_SSH_CONNECTION => "IllegalState: you don +'t have a valid SSH connection to the server";

      So,..my assumption in my previous replies was correct, the script is ignoring the "send " statement because now I realize that by teh time the script reaches to execute the "send" statement, the ssh connection does not remain active.

      Could you please help me figure this out, I cannot reason why would my ssh connection get closed ??

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others exploiting the Monastery: (5)
As of 2015-07-03 02:59 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (47 votes), past polls