Отправьте пароль через stdin в `ssh-copy-id`

Мне нужно автоматизировать некоторые развертывания идентификации, в идеале используя ssh-copy-id .

Я пытаюсь предоставить пароль через stdin, что возможно на ssh , используя флаг -S . Я знаю, что я могу отправить дополнительные параметры в ssh используя флаг -o в команде ssh-copy-id однако на этой странице нет примеров использования этого флага.

  • Нужно ли для командной строки вводить запись в utmp?
  • SSH-Config - Есть ли способ определить, локальный или удаленный?
  • Есть ли причина для того, чтобы ssh и sftp были настолько неинтегрированы?
  • Команда pdsh не удалась с отключенным соединением
  • Перенаправление агента SSH на сервере
  • Каковы различные способы отображения сообщения в оболочку bash после входа пользователя в систему?
  • Поэтому я попытался передать SSH-пароль для ssh-copy-id через stdin, используя:

     $# echo $TMP_PASS | ssh-copy-id -p2222 -i key.pub user@host -o "-S" 

    Но все, что я получаю, это:

     /bin/ssh-copy-id: ERROR: command-line: line 0: Bad configuration option: -s 

    РЕДАКТИРОВАТЬ:

    Я пытаюсь предоставить пароль через stdin, что возможно на ssh , используя флаг -S .

    Это утверждение неверно. Я действительно прочитал этот флаг у sudo man;

  • Как скопировать открытый ключ на ваш сервер
  • Передача файлов Сообщение SSH SCP об ошибке: «Stdin: не является tty»
  • Почему Firefox настолько медленнее, чем SSH?
  • Является ли ssh открытым ключом, связанным с пользователем?
  • медленный вход ssh на удаленную машину
  • Использовать X SSH-ключ при входе в Y удаленному пользователю?
  • 2 Solutions collect form web for “Отправьте пароль через stdin в `ssh-copy-id`”

    Возможно, вы захотите установить sshpass и изменить свой вызов на ssh-copy-id :

     sshpass -p "$TMP_PASS" ssh-copy-id 

    Где вы нашли информацию о опции -S ? Это нечто совершенно другое! Он используется для мультиплексирования и ControlPath.

    SSH не будет принимать пароли на stdin никогда , поэтому вы должны предварительно установить авторизованные ключи в своем развертывании (предпочтительный вариант) или использовать sshpass или expect как описано во многих других вопросах.

    Linux и Unix - лучшая ОС в мире.