Hi There,
One approach that might come in handy here is SSH tunneling. This is a technique for directing a remote SSH connection back to your local server.
To recap, you have ssh access to an intermediate host that has telnet access to the destination machine. Telnet normally runs on port 23.
Hopefully your local host is a 'Nix machine, which means that you can use a recipe such as this to set up port forwarding: Setting up an SSH tunnel
E.g. in another window: % ssh -g -L 10023:telnet-host:23 ssh-host
Telnet will then appear to be running locally on port 10023: % telnet localhost 10023
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
....
login:
You can then adapt you script to connect to telnet on your localhost on port 10023.
#!/usr/bin/perl
use warnings; use strict;
use Net::Telnet;
my ($username, $password) = @ARGV;
die "usage $0 username password"
unless $username && $password;
my $telnet = new Net::Telnet ( Timeout=>10, Errmode=>'die', Port => 10
+023);
$telnet->open('localhost');
$telnet->waitfor('/[\$#%:><][\s\b]+$/');
print "found login prompt...";
$telnet->print($username);
$telnet->waitfor('/[\$#%:><][\s\b]+$/');
print "found password prompt...";
$telnet->print($password);
print "logged in yay!\n";
Hope this helps.
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|