.ssh/known_hostsにアイテムを自動的に追加するには?

.ssh/known_hostsにアイテムを自動的に追加するには?

私は多くのホストを管理しており、ssh初めて新しいバッチを入力するたびに実際には存在しないと確信している場合は、追加するyesホストキーフィンガープリントを受け入れると各ホストのセキュアシェルクライアントに通知します。~/.ssh/known_hostsホストキーが壊れています。これを自動化する方法はありますか?後続の接続のキーチェックを無効にしたくありません。

議論のために、テキストファイル.txtにすべてのホストのリストがあるとしますhostlist.txt

答え1

yes最新バージョンの各ホストに入力しなくても、次のオプションを使用できますssh

ssh -o 'StrictHostKeyChecking accept-new' host

答え2

ssh-keyscanリモートホストキーのフィンガープリントは確認されますが、確認されません。ホストのリストを繰り返し、次に追加します~/.ssh/known_hosts

while read host; do
    if entry=$(ssh-keyscan $host 2> /dev/null); then
        echo "$entry" >> ~/.ssh/known_hosts
    fi
done < hostlist.txt

関連情報