初めて ssh-copy-id
尋ねます
# ssh-copy-id -i .ssh/id_dsa.pub [email protected]
The authenticity of Host 'example.com (xxx.xxx.xxx.xxx)' can't be established.
RSA key fingerprint is 39:fb:5e:70:30:33:2b:18:17:e9:4f:2f:91:b5:d2:21.
Are you sure you want to continue connecting (yes/no)?
これをスクリプト化することは可能ですか?スクリプトは単にyesと答えますか?
ssh-copy-id
がStrictHostKeyCheckingオプションをサポートしていない場合は、次のことを行うスクリプトを記述できます。
ssh-keyscan
を実行して、公開鍵を取得しますssh-copy-id
を実行しますSSHには、信頼できるホストファイルにホストキーを自動的に追加するオプションがあります。
ssh-copy-id -i .ssh/id_dsa.pub -o StrictHostKeyChecking=no [email protected]
別の方法として、次のことを行うことができます。
echo "yes \n" | ssh-copy-id -i .ssh/id_dsa.pub [email protected]
編集:これらのソリューションはssh-copy-id
では機能しないようですので、次のオプションを使用して~/.ssh/config
ファイルをいつでも作成できます。
StrictHostKeyChecking no
これは、スクリプトから呼び出されたかどうかに関係なく、すべてのSSH接続で機能します。
これを試して:
ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected] -y
ホストキーはknown_hostsファイルに追加されませんが、公開キーを目的のauthorized_keys
にコピー(または追加)することができます(これが唯一の目的である場合)。