Net-SSH-Tunnel

Net::SSH::Tunnel is a simple wrapper around ssh to establish a tunnel.
Supports both local and remote port forwarding.

You'd need to create a very short script like below, and invoke it.
Command line options are parsed inside the module.
#!/usr/bin/perl

use strict;
use warnings;
use Net::SSH::Tunnel;

Net::SSH::Tunnel->run();

# run the driver script with options.
$ ./driver.pl --host dest.example.com --hostname hostname.example.com

# the above is equivalent to creating a local port forwarding like this:
# ssh -f -N -L 10000:dest.example.com:22 <effective username>@hostname.example.com

# after the driver script is done, you can then do:
ssh -p 10000 user@localhost

PREREQUISITES

The following modules are required by Net::SSH::Tunnel
   Log::Log4perl

INSTALLATION

To install this module, run the following commands:

   perl Makefile.PL
   make
   make test
   make install

SUPPORT AND DOCUMENTATION

After installing, you can find documentation for this module with the
perldoc command.

   perldoc Net::SSH::Tunnel

You can also look for information at:

   RT, CPAN's request tracker (report bugs here)
       http://rt.cpan.org/NoAuth/Bugs.html?Dist=Net-SSH-Tunnel

   AnnoCPAN, Annotated CPAN documentation
       http://annocpan.org/dist/Net-SSH-Tunnel

   CPAN Ratings
       http://cpanratings.perl.org/d/Net-SSH-Tunnel

   Search CPAN
       http://search.cpan.org/dist/Net-SSH-Tunnel/


LICENSE AND COPYRIGHT

Copyright (C) 2012 Satoshi Yagi

This program is free software; you can redistribute it and/or modify it
under the terms of either: the GNU General Public License as published
by the Free Software Foundation; or the Artistic License.

See http://dev.perl.org/licenses/ for more information.