読者です 読者をやめる 読者になる 読者になる

SSHでログインしようとしたらサーバが変わったとエラーがでた

サーバを再インストールした後、SSHでログインしようとしたら以下の様なエラーがでて困った。

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
.
.
RSA host key for rdev.jp has changed and you have requested strict checking.
Host key verification failed.

普段は~/.ssh/known_hostsをvimで開いて該当箇所消したりしてたんだけど、なにやらコマンドで出来るらしいのでやってみた。

known_hosts内の情報検索

以下のコマンドを実行すると、対象のIPのデータがknown_hostsにあると1行でてくる。

% ssh-keygen -F 203.0.113.1
# Host 203.0.113.1 found: line 5 type RSA
203.0.113.1 ssh-rsa AAAA......

known_hostsから該当ホストの情報削除

データを削除したい場合は-Rをオプションに付けてやれば良いみたい。

% ssh-keygen -R 203.0.113.1

ただ、.ssh/configに書いてあるHostの名前からだと動かないっぽい。これはSSHでアクセスする時点でHostNameの値に置き換わってからknown_hostsに登録されるからしょうがないのかなー。