| azzi.george@gmail.com 2007-02-26, 9:59 pm |
| Dear Perl Programmers,
Good evening. Am trying to use Net::SSH::Perl to do a simple ls -l
command on a remote system. However, it keeps giving a Broken Pipe
error. Below is the script, along with the error. Any help given would
be greatly appreciated. Note that this is running on solaris 10 (not
sure if that makes a difference). Thank you in advance.
Pierre
Perl Script:
-------------------------------------
#!/usr/bin/perl
use warnings;
use strict;
use Net::SSH::Perl;
my $user;
my $pass;
my $cmd = "ls -lrt /tmp/*.txt";
my $pwd = "ssh_info.txt";
my $host = "x.x.x.x";
open ('LOGIN', "$pwd") || die "$!\n";
while (<LOGIN> ) {
($user, $pass) = split /:/, $_;
}
close 'LOGIN' || die "LOGIN FH: $! \n";
my $ssh = Net::SSH::Perl->new($host, debug =>1, protocol =>'2,1');
print "$host\n";
print "Command that will be run before logging in: $cmd\n";
$ssh->config->set('interactive', 1)
unless defined $ssh->config->get('interactive');
$ssh->login($user,$pass);
print "Command that is about to be run: $cmd\n";
my ($stdout, $stderr, $exit) = $ssh->cmd($cmd);
print "$tdout\n";
Error Received
-------------------------------------------------------------------
Reading configuration data /var/home/collect/.ssh/config
Reading configuration data /etc/ssh_config
Connecting to x.x.x.x, port 22.
Remote version string: SSH-2.0-OpenSSH_4.3
Remote protocol version 2.0, remote software version OpenSSH_4.3
Net::SSH::Perl Version 1.30, protocol version 2.0.
No compat match: OpenSSH_4.3.
Connection established.
x.x.x.x
Command that will be run before logging in: ls -lrt /tmp/*.txt
Sent key-exchange init (KEXINIT), wait response.
Algorithms, c->s: 3des-cbc hmac-sha1 none
Algorithms, s->c: 3des-cbc hmac-sha1 none
Entering Diffie-Hellman Group 1 key exchange.
Sent DH public key, waiting for reply.
Received host key, type 'ssh-dss'.
Host 'x.x.x.x' is known and matches the host key.
Computing shared secret key.
Verifying server signature.
Waiting for NEWKEYS message.
Enabling incoming encryption/MAC/compression.
Send NEWKEYS, enable outgoing encryption/MAC/compression.
Sending request for user-authentication service.
Broken Pipe
|