web-dev-qa-db-ja.com

`ssh-copy-id`のstdinを介してパスワードを送信します

理想的にはssh-copy-idを使用して、いくつかのID展開を自動化する必要があります。

-Sフラグを使用すると、sshで可能なstdinを介してパスワードを提供しようとしています。 -oコマンドのssh-copy-idフラグを使用してsshに追加のオプションを送信できることは知っていますが、このフラグの使用例はマニュアルページにはありません。

だから私はssh-copy-idのSSHパスワードを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

編集:

-Sフラグを使用すると、sshで可能なstdinを介してパスワードを提供しようとしています。

このステートメントは間違っています。私は実際にこのフラグをSudo manから読みました。

11
2grit

Sshpassをインストールして、ssh-copy-idの呼び出しを変更してみてください。

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

-Sオプションに関する情報はどこで見つけましたか?まったく違うことをします!多重化とControlPathに使用されます。

SSHはstdin everのパスワードを受け入れないため、展開に承認済みのキーを事前にインストールするか(推奨される方法)、またはsshpassまたはexpectスクリプトを使用して、他の多くの質問。

2
Jakuje