Я сделал нечто подобное, используя Perl. Если вы используете Net: SSH: Expect, вы можете открыть соединение с паролем для каждой машины, выполнить ваши команды, проверить вывод и повторить.
Вот с чего вы начнете.
CPAN - нетто: SSH: ожидается
Пример кода для доступа к нужной машине:
my $ssh = Net::SSH::Expect->new(
host => $sshHost,
password => 'password',
user => 'username',
raw_pty => 1
);
my $login_output = $ssh->login(); # check if you logged in properly
# disable terminal translations and echo on the SSH server
$ssh->exec("stty raw -echo");
Вы можете вызвать exec для запуска любых необходимых вам команд.