#!/usr/bin/perl
use strict;
use warnings;
use threads;
use Net::OpenSSH;
use Data::Dumper;
my $sensor_ssh =
Net::OpenSSH->new( 'rasto:password@10.3.12.175',
'master_opts' => [ '-o' => 'StrictHostKeyChecking=no' ] );
$sensor_ssh->error
and die "Couldn't establish SSH connection: " . $sensor_ssh->error;
my $sudo = $sensor_ssh->capture( { stderr_to_stdout => 1 },
'echo \'password\' | sudo -S bash' );
print "initialize sudo: " . $sudo;
my $wget_thread = threads->create( \&wget_sub );
my $sensor_syslog_thread = threads->create( \&tail_sensor_syslog, $sensor_ssh );
$wget_thread->join();
my $tail_syslog = $sensor_syslog_thread->join();
print "tail syslog: $tail_syslog\n";
my $test = $sensor_ssh->capture('ls') or warn "Failed: $sensor_ssh->error \n";
print Dumper $sensor_ssh;
sub wget_sub {
my $wget = `wget http://10.3.13.4/xaa`;
print "wget:\n$wget\n";
return 1;
}
sub tail_sensor_syslog {
my $ssh = shift;
print("In the thread\n");
my $cap =
$ssh->capture( { stderr_to_stdout => 1 },
'sudo tail -f /var/log/syslog' );
return $cap;
}
####
Failed: Net::OpenSSH=HASH(0xa21b220)->error
####
'_error' => 'master ssh connection broken',