2011年10月26日水曜日

ssh で known_hosts にホスト名があるか見つける方法と削除の方法

ssh 使っている人には常識なのかもしれませんが、
known_hosts ファイルに ホスト名が存在しているか見つける方法と、削除する方法です。

ssh で 接続すると 接続したホストが ~/.ssh/known_hosts ファイルに記録されますが
検証環境だと よく 同じホスト名で 再インストールを実行するとキーが変わってしまうので
接続時にすでに存在しているけどキーが違うよ ってことで接続が出来なくて
今までは known_hosts から該当のエントリを見つけて 手で消していたのですが

ssh-keygen コマンドで 出来ることが 最近わかりました。
手動で もう 8年ぐらい消してました。。。

ホストエントリの見つけ方
ssh-keygen -F ホスト名
% ssh-keygen -F emily.local
# Host emily.local found: line 5 type RSA

ホストエントリの消し方
ssh-keygen -R ホスト名
% ssh-keygen -R emily.local
/Users/hogehoge/.ssh/known_hosts updated.
Original contents retained as /Users/hogehoge/.ssh/known_hosts.old

ホスト名がFQDNなら FQDNで指定する必要があります。

0 件のコメント:

コメントを投稿