Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris
 
PerlMonks  

Re^2: Forced to modify perl telnet script to use both telnet and ssh

by essej1 (Novice)
on Sep 05, 2012 at 17:32 UTC ( #991897=note: print w/ replies, xml ) Need Help??


in reply to Re: Forced to modify perl telnet script to use both telnet and ssh
in thread Forced to modify perl telnet script to use both telnet and ssh

The base issues are that we are moving to ssh from telnet, but not all at once and my boss refuses to make major changes. So, I've been tasked to implement expect like things without using expect. What I'm after is something like:

send command read response send another command
The devices being examined give different prompts or responses, depending on firmware or vendor. Therefore there are different follow-up commands. The following does work, but note the comments about
#!/opt/csw/bin/perl use strict; use warnings; use Net::SSH2; my $host = "<host name or IP>" my $user = "<user ID>"; my $pass = "<user password>"; my $ssh2 = Net::SSH2->new(); my $ok = 1; print "==> $host\n"; $ssh2->connect($host) or $ok = 0; if (!$ok) { print "Probable telnet\n"; exit(1); } if (!$ssh2->auth_password ($user,$pass)) { print "==> 4 pass fail\n"; exit(1); } my $chan2 = $ssh2->channel(); $chan2 -> shell(); # form some reason the order of the commands matters. # change any one and the prints are blank print $chan2 "dir\n"; sleep (1); # for some reason the sleep is needed to get output print "LINE : $_" while <$chan2>; print $chan2 "sh ver\n\n"; print "LINE : $_" while <$chan2>; print $chan2 "sh clock\n\n"; print "LINE : $_" while <$chan2>; print $chan2 "exit\n"; print "==> END\n"
Paradise: Florida, full tank of gas, no appointments.


Comment on Re^2: Forced to modify perl telnet script to use both telnet and ssh
Select or Download Code
Re^3: Forced to modify perl telnet script to use both telnet and ssh
by Anonymous Monk on Sep 08, 2012 at 08:57 UTC
    Hi, I have written a module which integrates both SSH & Telnet; it's an overlay which uses both Net::Telnet and Net:SSH2; it's called Control::CLI. Maybe that might help you. I made it because I needed it to run on Windows systems, where I was not able to get expect to work.
      can u share the script that uses both ss and telnet... even am expecting to do

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others exploiting the Monastery: (8)
As of 2014-12-25 22:31 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (163 votes), past polls