1. kawaz

    No comment

    kawaz
Changes in body
Source | HTML | Preview

今時のバージョンのOpenSSHではknown_hostsがハッシュ化されてて手動管理がしにくいし、スマートに決めたいのでコマンドでやってみる。

コマンド

結論から書くと↓こんな感じでOK。

host="localhost"
ssh-keygen -R $host
ssh-keyscan -H $host >> ~/.ssh/known_hosts
host="target-hostname"
ssh-keygen -R $host
ssh-keyscan -H $host >> ~/.ssh/known_hosts

説明

  • ssh-keygen -R hostname~/.ssh/known_hosts から対象ホストのホストキーを削除してくれる。複数あれば全部消してくれるしハッシュ化されてるのもされてないのも全部消してくれるので便利。known_hostsファイルをエディタで開いてエラーメッセージで指摘された行数まで移動して手で削除するのなんかより100倍楽です。
  • ssh-keyscan は対象ホストのホストキー一覧を取得するコマンド。無言で実行できるから一旦手動でssh試みてプロンプトでyesとかするより使い勝手が良い。
  • 注意点! 追記する為の >> を間違えて > て書くと既存のキーが全部消えるので気をつけること!