Перенаправление ввода для пароля в Perl Script из командной строки - PullRequest
0 голосов
/ 14 октября 2011

Я использую системную командную строку Windows для вызова сценария Perl.В какой-то момент сценарий Perl вызывает svn+ssh для обновления репо.Запрашиваемый репозиторий запрашивает ввод данных пользователем, в частности пароль.

Я пытаюсь автоматизировать выполнение сценария Perl, но он постоянно зависает при вызове svn.Я пробовал много форм перенаправления ввода (в частности, < с внешним файлом, | с cat, а в оболочке Windows Power используется символ @ для указания многострочной строки).Есть ли способ ввести пароль для этого сценария Perl?

В целях решения этой проблемы у меня нет доступа к Perl Script, и мне нужно будет обойти эту проблему.

1 Ответ

2 голосов
/ 14 октября 2011

Вы не упоминаете реализацию svn + ssh, которую использует скрипт, но я думаю, что проблема в следующем:

Клиенты SSH, как правило, запрашивают пароли непосредственно из терминала. Запросы пароля часто не читаются из стандартного ввода, поэтому вы не можете перенаправить ввод. Например, клиент OpenSSH делает это таким образом. Он разработан таким образом, чтобы пользователи не могли делать небезопасные вещи - например, хранить пароли в файлах, переменные среды или переменные оболочки.

В этой ситуации обычно рекомендуется использовать аутентификацию с открытым ключом.

Не зная вашего сценария, я думаю, что не удастся найти обходной путь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...