2020-11-04に更新

【SSH】「REMOTE HOST IDENTIFICATION HAS CHANGED!」が出てSSH接続できない場合の対処法

SSH

機器のリプレイス等により、クライアントPCのknown_hostsに格納されているフィンガープリント
と接続先が一致しなくなると、以下の警告が出てSSHで接続できなくなる例のアレです。
ここ数年遭遇しなかったので、すっかりコマンド忘れてました。というわけで備忘メモメモ

動作確認した環境

  • OpenSSH_7.9p1, LibreSSL 2.7.3

事象例

以下の例では「192.168.1.2」がリプレイスした機器です、これにSSHしようとすると...

$ ssh [email protected]

こんな警告が出てしまいます

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
SHA256:7pM8vhBE+NlnvD5tdDNU1OY9IWb16tHOtx20ILtIZ94.
Please contact your system administrator.
Add correct host key in /Users/arohajiro/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /Users/arohajiro/.ssh/known_hosts:4
ECDSA host key for 192.168.1.2 has changed and you have requested strict checking.
Host key verification failed.

対処方法

該当する機器「192.168.1.2」のフィンガープリントをssh-keygenコマンドで削除したら、対処完了です!

コマンド

$ ssh-keygen -R 192.168.1.2

出力例

# Host 192.168.1.2 found: line 4
/Users/arohajiro/.ssh/known_hosts updated.
Original contents retained as /Users/arohajiro/.ssh/known_hosts.old
ツイッターでシェア
みんなに共有、忘れないようにメモ

arohajiro

しがない元インフラエンジニアです

Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。

また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!

有料記事を販売できるようになりました!

こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?

コメント