У меня была похожая проблема, и после долгих поисков я нашел простой вариант. Я использовал qx()
и запускал команды ssh, как обычно. Подвох в том, что мне пришлось захватывать как stderr, так и stdout.
Ниже приведен пример того, что я использовал:
my $output = qx(ssh root\@$curIP python -V 2>&1);
Запускает команду python -V
, которая выводит информацию о версии в stderr
. В этом примере мой IP-адрес был сохранен в переменной $curIP
. Наконец, 2>&1
помогает захватывать как stdout, так и stderr. Я не указал пароль, так как у меня есть настройка обмена ключами. Надеюсь, это поможет.