Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Perl > Perl Misc > net::telnet pm issue

Reply
Thread Tools

net::telnet pm issue

 
 
solaris.identity@gmail.com
Guest
Posts: n/a
 
      02-09-2007
Hi,

Not matter what RE I try in 'waitfor' function does not match the
"Password" prompt.


Here is the piece of code, from your example that I used

## Create a Net::Telnet object to perform I/O on ssh's tty.
use Net::Telnet;
$ssh = new Net::Telnet (-fhopen => $pty,
-prompt => $prompt,
-telnetmode => 0,
-cmd_remove_mode => 1,
-output_record_separator => "\r");
$ssh->dump_log('passwd.log');
## Login to remote host.
$ssh->waitfor(-match => '/.*password:.*/i',
-errmode => "return")
or die "problem connecting to host: ", $ssh->lastline


when I do a ssh from command line the prompt ends with

Password:

here are the last few line of dump_log

< 0x00000: 50 65 72 6d 69 73 73 69 6f 6e 20 64 65 6e 69 65
Permission denie
< 0x00010: 64 20 28 67 73 73 61 70 69 2d 6b 65 79 65 78 2c d
(gssapi-keyex.
< 0x00020: 67 73 73 61 70 69 2d 77 69 74 68 2d 6d 69 63 2c gssapi-
with-mic.
< 0x00030: 70 75 62 6c 69 63 6b 65 79 2c 6b 65 79 62 6f 61
publickey.keyboa
< 0x00040: 72 64 2d 69 6e 74 65 72 61 63 74 69 76 65 29 2e rd-
interactive).

< 0x00000: 0d 0d 0a ...


Thanks

 
Reply With Quote
 
 
 
 
J. Gleixner
Guest
Posts: n/a
 
      02-09-2007
wrote:
> Hi,
>
> Not matter what RE I try in 'waitfor' function does not match the
> "Password" prompt.
>
>
> Here is the piece of code, from your example that I used
>
> ## Create a Net::Telnet object to perform I/O on ssh's tty.
> use Net::Telnet;
> $ssh = new Net::Telnet (-fhopen => $pty,

[...]
> when I do a ssh from command line the prompt ends with
>
> Password:


When running ssh, from the command line, it's not the
same as telnet'ing to the port. Try it.. telnet
to the port.

If you're going to use SSH, then use the appropriate module.
 
Reply With Quote
 
 
 
 
solaris.identity@gmail.com
Guest
Posts: n/a
 
      02-09-2007

> When running ssh, from the command line, it's not the
> same as telnet'ing to the port. Try it.. telnet
> to the port.
>
> If you're going to use SSH, then use the appropriate module.- Hide quoted text -


Sorry, I don't understand what you are saying, this method was taken
directly from Net::Telnet module doc.

Thanks



 
Reply With Quote
 
Joe Smith
Guest
Posts: n/a
 
      02-09-2007
wrote:

> Not matter what RE I try in 'waitfor' function does not match the
> "Password" prompt.


You're assuming that it comes over the socket.

> $ssh = new Net::Telnet (-fhopen => $pty,
>
> when I do a ssh from command line the prompt ends with
>
> Password:


With telnet, the "Password:" prompt comes over the socket from the telnetd server.
With ssh, the "Password:" prompt comes from the ssh client and is read
from /dev/tty, not STDIN.

What made you choose Net::Telnet versus Net::SSH ?

-Joe
 
Reply With Quote
 
solaris.identity@gmail.com
Guest
Posts: n/a
 
      02-10-2007
On Feb 9, 4:26 pm, Joe Smith <j...@inwap.com> wrote:
> solaris.ident...@gmail.com wrote:
> > Not matter what RE I try in 'waitfor' function does not match the
> > "Password" prompt.

>
> You're assuming that it comes over the socket.
>
> > $ssh = new Net::Telnet (-fhopen => $pty,

>
> > when I do a ssh from command line the prompt ends with

>
> > Password:

>
> With telnet, the "Password:" prompt comes over the socket from the telnetd server.
> With ssh, the "Password:" prompt comes from the ssh client and is read
> from /dev/tty, not STDIN.
>
> What made you choose Net::Telnet versus Net::SSH ?
>
> -Joe



I took this straight out of Net::Telnet web page examples

http://search.cpan.org/~jrogers/Net-...lnet.pm#AUTHOR


there was no particular reason for using Net::Telnet. I found what I
wanted to do with an example .

here it is
## Main program.
{
my ($pty, $ssh, @lines);
my $host = "changeme";
my $user = "changeme";
my $password = "changeme";
my $prompt = '/changeme:~> $/';

## Start ssh program.
$pty = &spawn("ssh", "-l", $user, $host); # spawn() defined
below

## Create a Net::Telnet object to perform I/O on ssh's tty.
use Net::Telnet;
$ssh = new Net::Telnet (-fhopen => $pty,
-prompt => $prompt,
-telnetmode => 0,
-cmd_remove_mode => 1,
-output_record_separator => "\r");

## Login to remote host.
$ssh->waitfor(-match => '/password: ?$/i',
-errmode => "return")
or die "problem connecting to host: ", $ssh->lastline;
$ssh->print($password);
$ssh->waitfor(-match => $ssh->prompt,
-errmode => "return")
or die "login failed: ", $ssh->lastline;

## Send command, get and print its output.
@lines = $ssh->cmd("who");
print @lines;

exit;
} # end main program

sub spawn {
my(@cmd) = @_;
my($pid, $pty, $tty, $tty_fd);

## Create a new pseudo terminal.
use IO:ty ();
$pty = new IO:ty
or die $!;

## Execute the program in another process.
unless ($pid = fork) { # child process
die "problem spawning program: $!\n" unless defined $pid;

## Disassociate process from existing controlling
terminal.
use POSIX ();
POSIX::setsid
or die "setsid failed: $!";

## Associate process with a new controlling terminal.
$tty = $pty->slave;
$tty_fd = $tty->fileno;
close $pty;

## Make stdio use the new controlling terminal.
open STDIN, "<&$tty_fd" or die $!;
open STDOUT, ">&$tty_fd" or die $!;
open STDERR, ">&STDOUT" or die $!;
close $tty;

## Execute requested program.
exec @cmd
or die "problem executing $cmd[0]\n";
} # end child process

$pty;
} # end sub spawn



 
Reply With Quote
 
J. Gleixner
Guest
Posts: n/a
 
      02-12-2007
wrote:
>> When running ssh, from the command line, it's not the
>> same as telnet'ing to the port. Try it.. telnet
>> to the port.
>>
>> If you're going to use SSH, then use the appropriate module.- Hide quoted text -

>
> Sorry, I don't understand what you are saying, this method was taken
> directly from Net::Telnet module doc.


So it was... hmmmm...

My suggestion would be to use either Net::SSH, or Net:SSH:erl
module. They provide a much better interface. If you have
your keys set up, your code might be as simple as:

use Net::SSH qw(ssh);
ssh('user@hostname', 'some command');

http://search.cpan.org/~ivan/Net-SSH-0.08/SSH.pm
http://search.cpan.org/~dbrobins/Net...et/SSH/Perl.pm
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Is it a hardware issue or a config issue or something else Scooty Cisco 0 06-14-2008 04:02 PM
Data Storage Issue (Basic Issue) Srini Java 11 06-01-2008 01:17 AM
Service Pack 2: login issue's and power management issue's ?!? Skybuck Flying Windows 64bit 0 04-07-2007 03:12 PM
inspiron 8200 video issue and hd issue the pez lover Computer Support 1 02-05-2007 02:44 AM
Major ActiveX Domain issue. NOT LOCAL PC ISSUE joe.valentine@gmail.com Computer Support 8 02-06-2006 09:03 PM



Advertisments
 



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57