Perl Net::( SSH vs SSH2 vs OpenSSH) - как мне их сравнить?

Ищете выполнение perl script на удаленном компьютере через Perl script. Появляется один из вариантов - использовать функцию system() и создать ключ ssh, чтобы пароль не требовался. Это приводит меня к фокусу этого вопроса, другим вариантом является установка и запуск одного из этих модулей perl:

Помимо используемого протокола, что еще я должен сравнивать с этими модулями Perl?

Ответ 1

Документация Net::OpenSSH содержит раздел , описывающий плюсы и минусы каждого. Вот несколько выдержек, связанных с теми, о которых вы просите, но в документации перечислены больше:

Net::SSH - это просто оболочка вокруг любого Бинарные команды SSH доступны на машина. Это может быть очень медленно, поскольку они установить новое SSH-соединение для каждая выполняемая операция.

Net::SSH2 намного лучше, чем Net::SSH::Perl, но не полностью стабильный. Это может быть очень сложно для установки на некоторые конкретные оперативные систем и его API также ограничены, таким же образом, как Net::SSH::Perl.

Net::OpenSSH имеет очень perlish интерфейс. Большинство операций выполненный по моде, очень похожий на из встроенных Perl и общих модули (т.е. IPC:: Open2).

Однако выбор платформы может ограничить ваши варианты.

С другой стороны, Net::OpenSSH делает не работает в Windows, даже не Cygwin.

Конечно, список смещен в сторону Net::OpenSSH, но он дает вам представление о существенных различиях между модулями.