Если все, что вы пытаетесь сделать, это запустить кучу удаленных команд, вы можете просто использовать perl. Вы можете «открыть» команду ssh и передать результаты обратно в perl. (Вам, конечно, нужно настроить ключи, чтобы разрешить доступ без пароля)
open (REMOTE, "ssh user@hostB \"myScript\"|");
while (<REMOTE>)
{
print $_;
}
Вы хотели бы создать цикл с именами своих машин и запустить один для каждого. После этого просто сделайте неблокирующее чтение файловых дескрипторов, чтобы получить данные обратно, когда они станут доступны.