in reply to
Multilevel SSH
You can use Net::OpenSSH and Net::OpenSSH::Gateway. The later is not on CPAN yet because I am not completely happy with its internals, but otherwise it is completely functional.
Once installed, you can run:
my $ssh = Net::OpenSSH->new($target,
gateway => { proxies => ['ssh://serverA',
'ssh://serverB']
+});
my $output = $ssh->capture('ls');
Under the hood it uses several tricks to find a way to jump from one hop to the next, as creating tunnels or running any of
socat,
netcat or
perl.