Afternoon Josh,
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
···
On Thu, May 26, 2011 at 4:20 PM, Josh Hurtado <djotter@mac.com> wrote: