Как уже упоминалось @Nylon Smile, вы можете использовать system
для вызова системного клиента ssh. Если вы хотите сделать это, не полагаясь на внешние двоичные файлы (в частности, потому что вы хотите по-другому обрабатывать аутентификацию по паролю), попробуйте Net::SSH::Perl
, доступный из CPAN.
use Net::SSH::Perl;
my $ssh = Net::SSH::Perl->new('host');
$ssh->login('username', 'password');
my ($stdout, $stderr, $exit_code) = $ssh->cmd(
'perl some_script.pl --with=some_args',
'optionally, some stdin for that script'
);
Net :: SSH :: Perl может быть немного трудной для установки, но есть несколько других модулей CPAN (большинство из которых основаны на установленном OpenSSH), и с ними немного проще работать, предоставляя аналогичный API , Смотрите также Net::SSH
и Net::OpenSSH
.