A
azzi.george
Dear Perl Programmers,
Good evening. Am trying to use Net::SSH:erl 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.
Also, it is taking unusually long to just login. Confirmed there is a
connection using ps -ef on the remote machine. 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 for your help.
Pierre
Perl Script:
-------------------------------------
#!/usr/bin/perl
use warnings;
use strict;
use Net::SSH:erl;
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:erl->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:erl 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
Good evening. Am trying to use Net::SSH:erl 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.
Also, it is taking unusually long to just login. Confirmed there is a
connection using ps -ef on the remote machine. 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 for your help.
Pierre
Perl Script:
-------------------------------------
#!/usr/bin/perl
use warnings;
use strict;
use Net::SSH:erl;
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:erl->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:erl 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