#!/usr/bin/env perl
use strict;
use Expect;
my $header_template = "\n\n======== system ========\n";
do_date($_) for qw( vftp vwww2 );
sub do_date {
my ($system) = @_;
my $header = $header_template;
$header =~ s/system/$system/;
my $timeout = 10;
my $ssh = Expect->new("ssh $system");
$ssh->log_file("$system.log");
$ssh->debug(1);
$ssh->print_log_file($header);
$ssh->expect( $timeout, [qr/password/] );
if ( $ssh->match() =~ m/password/ ) {
$ssh->send("youcantseeme\n");
}
$ssh->expect( 60, [qr/\$\s*/] );
$ssh->send("hostname\n");
$ssh->expect( 60, [qr/\$\s*/] );
$ssh->send("date\n");
$ssh->expect( 60, [qr/\$\s*/] );
$ssh->send("exit\n");
$ssh->close();
}
####
======== vftp ========
jwk@vftp's password:
Welcome to Ubuntu 12.04.5 LTS (GNU/Linux 3.13.0-48-generic x86_64)
Last login: Tue Apr 7 22:48:33 2015 from 10.1.1.134
jwk@vftp:~$ hostname
vftp
jwk@vftp:~$ date
Tue Apr 7 22:53:09 CDT 2015
jwk@vftp:~$
####
======== vwww2 ========
jwk@vwww2's password:
Welcome to Ubuntu 14.04.2 LTS (GNU/Linux 3.13.0-48-generic x86_64)
Last login: Tue Apr 7 22:48:35 2015 from 10.1.1.134
jwk@vwww2:~$ hostname
vwww2
jwk@vwww2:~$ date
Tue Apr 7 22:53:10 CDT 2015
jwk@vwww2:~$