You don't have \n on the end of ENABLE, but I don't know if that makes a difference... --Jeremy On Dec 14, 2007 12:27 PM, jackster the jackle <contact / thirdorder.net> wrote: > Hi Ruby Forum, > > I have some code that will login to my cisco router and run a basic > command. > > The problem is, I need to get into enable mode to run additional > command. Getting into enable mode requires typing "enable", waiting for > the prompt "Password: " then entering another password. > > This code works and gets me into the router but not in enable mode: > > #!/usr/local/bin/ruby > > require 'net/telnet' > > CISCO = "172.31.1.1" #Enter the IP address here > USER = "jsmith" #Enter username here > PASS = "mypassword" #Enter password here > ENABLE = "myenablepass" #Enter enable password here > > tn = Net::Telnet::new("Host" => CISCO, > "Timeout" => 5, > "Prompt" => /Username/ ) > > tn.cmd("\n#{USER}") { |c| print c } > tn.cmd(PASS) { |c| print c } > tn.cmd("sh mod\n") { |c| print c } > > Instead of sending the command "sh mod\n" as shown above, I want to get > into enable mode and send the command "sh run\n". > > The problem is, I get to the password prompt but the router is not > taking my password for some reason and I know the password is good. > > Here is the added code that I'm having trouble with: > > tn = Net::Telnet::new("Host" => CISCO, > "Timeout" => 5, > "Prompt" => /Username: / ) > > tn.cmd("\n#{USER}") { |c| print c } > tn.cmd(PASS) { |c| print c } > tn.cmd("enable\n") { |c| print c } > tn.waitfor(/Password: /) > tn.cmd(ENABLE) { |c| print c } > tn.cmd("sh run\n") { |c| print c } > > Any ideas to get me into enable mode here would be greatly appreciated. > thanks > jackster > -- > Posted via http://www.ruby-forum.com/. > > -- http://www.jeremymcanally.com/ My books: Ruby in Practice http://www.manning.com/mcanally/ My free Ruby e-book http://www.humblelittlerubybook.com/ My blogs: http://www.mrneighborly.com/ http://www.rubyinpractice.com/