ホスト名example.comへsshするためのknown_hostsレコードの登録方法は以下の通り。

1
2
3
ssh-keygen -R example.com
ssh-keyscan -H example.com >> ~/.ssh/known_hosts

  • ssh-keygen -R <ホスト名> で、~/.ssh/known_hostsからそのホスト名のエントリを削除できます。
  • ssh-keyscan -H <ホスト名>で、known_hosts用にハッシュ化したホスト名のデータを出力できます。

こうやって登録しておくと、sshで初めてログインするときでもAre you sure you want to continue connecting (yes/no)?とか言われません。

蛇足

ちなみにこれをワンライナーにすると以下の通り。

1
2
echo example.com | while read L; do ssh-keygen -R $L; ssh-keyscan -H $L >> ~/.ssh/known_hosts; done

または

1
2
echo example.com | xargs -I@ echo "ssh-keygen -R @; ssh-keyscan -H @ >> ~/.ssh/known_hosts" | sh

以上。

参考

  • man ssh-keyscan
  • man ssh-keygen