#!/usr/bin/perl require Net::SSH; require Net::SSH::Expect; my %hosts = ( "192.168.1.31" => "admin,password", "192.168.1.61" => "admin,password", ); my $ssh; open (LOG,">>./audit.log"); foreach $host (keys %hosts) { myAuditLog(LOG,"Accessing $host . . ."); ($login,$passwd) = split /,/,$hosts{$host}; $ssh = Net::SSH::Expect->new ( host => "$host", user => "$login", password => "$passwd", raw_pty => 1 ); $loginOutput = $ssh->login() || myAuditLog(LOG,"Login has failed. $!"); # do stuff $ssh->close(); } close(LOG);