--000e0cdf6ac8ad069504a436a37c Content-Type: text/plain; charset=ISO-8859-1 Afternoon Josh, On Thu, May 26, 2011 at 4:20 PM, Josh Hurtado <djotter / mac.com> wrote: > Hi Everyone, > I posted a differnt but related thread about this so though I would hit > from a differnt direction. > > I have a secure SSH box which has access to my differnt Cisco routers. I > want to write a program that > > a) ssh's from my machine to the jump box > b) run through a list of routers and telnet into each one and grab the > running config > c) close the session > > Trying to fiugre out a good way to approach this. I can get the NET::SSH > session open to the box, but can't figure out how to go form there to > step 2. > You want to use SSH Fowarding to forward your telnet sessions over the wire to the remote side. http://net-ssh.rubyforge.org/ssh/v2/api/ <- the ssh api documentation has forwarding as the third to last line of the large example at the top of the page. Basically you do the following - you tell the ssh session to forward a LOCAL port over the wire to a remote address (in this case one of your cisco servers). So as an example If you had a server at 10.0.0.1 port 21 then you could write ssh.forward.local(12345, "10.0.0.1", 21) Then use the telnet object to connect to port 12345 - this will automatically be forwarded over the wire to 10.0.0.1 port 21 via the ssh connection. So for step 2 you would create an array of your router addresses and then something like this addrs '10.0.0.1', '10.0.0.2', '10.0.0.3'] addrs.each { |addr| ssh.forward.local(12345, addr, 21) connect to port 12345 on your localhost with telnet and pull down the config } John John --000e0cdf6ac8ad069504a436a37c--