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.
Comments
Re: Jump box ideas
By John W Higgins at 05/26/2011 - 20:02Afternoon Josh,
You want to use SSH Fowarding to forward your telnet sessions over the wire
to the remote side.
<a href="http://net-ssh.rubyforge.org/ssh/v2/api/" title="http://net-ssh.rubyforge.org/ssh/v2/api/">http://net-ssh.rubyforge.org/ssh/v2/api/</a> <- 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