Ошибка при использовании команды SSH в сценарии оболочки

#perl

Вопрос:

У меня есть сценарий оболочки, который выполняет SSH на удаленной машине для выполнения сценария perl. команда выглядит примерно так: $SSH-x «узел» /perl/bin/perl -I/perl/lib <perlfilename>.pl <args..> , который завершается ошибкой 2

Я посмотрел на файл и версию библиотеки perl, она выглядит нормально. Ошибка SSH предполагает , что ему не удалось подключиться к удаленной машине, в то время как аналогичная команда SSH для выполнения двоичного файла на удаленной машине работает нормально. Есть ли какой-либо способ, который можно было бы отладить дальше

Ответ №1:

Я предполагаю, что анализатор командной строки неправильно видит имя целевого хоста. Я предполагаю, что этот узел является вашим целевым хостом.

На самом деле, на stderr должно быть реальное сообщение об ошибке, а не просто код ошибки, и я хотел бы это увидеть.

Но у меня есть подозрения, что, возможно, цитирование записки создает проблемы. Другие варианты заключаются в том, что в сети нет узла с именем машины или что способность вашей машины разрешать узел с именем сетевой машины неэффективна.

Некоторые возможные решения включают более конкретный таргетинг, например, с использованием полного доменного имени (полное доменное имя)-например node.stackoverflow.com. Другой вариант-использовать IP-адрес узла и, таким образом, обойти любые проблемы с разрешением имен, которые у вас могут возникнуть.