Мне нужно автоматизировать некоторые идентификационные развертывания, в идеале используя ssh-copy-id
.
Я пытаюсь предоставить пароль через stdin, что возможно ssh
при использовании -S
флага. Мне известно, что я могу отправить дополнительные опции для ssh
использования -o
флага в ssh-copy-id
команде, однако на странице руководства нет примеров использования этого флага.
Итак, я попытался передать пароль 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
человека;
ssh
pipe
key-authentication
2grit
источник
источник
brew install
я пытаюсь это сделать, я получаю сообщение «Ошибка: нет доступной формулы с именем« sshpass ». Мы не будем добавлять sshpass, потому что это делает слишком легким для начинающих пользователей SSH разрушать безопасность SSH».brew install https://raw.githubusercontent.com/kadwanev/bigboybrew/master/Library/Formula/sshpass.rb
Где вы нашли информацию о
-S
варианте? Это делает что-то совершенно другое! Используется для мультиплексирования и ControlPath.SSH никогда не будет принимать пароли на stdin , поэтому вам следует предварительно установить авторизованные ключи в вашем развертывании (предпочтительным способом) или использовать
sshpass
илиexpect
сценарий, как описано во многих других вопросах.источник
-S
флаг отsudo
: S