今までSSH接続していたサーバを再インストールしたり、IPやホスト名は同じですが別のサーバが導入した場合にSSH接続しようとすると、「WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
」というエラー(警告)が出て接続できない場合があります。
$ ssh 192.168.0.16
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ 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 ED25519 key sent by the remote host is
SHA256:FNjxRHnzRjm709c/sch7pZ9SuPjj0S6lp8ZrY+0scks.
Please contact your system administrator.
Add correct host key in /Users/t0k0sh1/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /Users/t0k0sh1/.ssh/known_hosts:6
Host key for 192.168.0.16 has changed and you have requested strict checking.
Host key verification failed.
過去に接続していたサーバーを再インストールしたため、リモートホスト鍵が変わっており中間者攻撃(Man In The Middle Attack)を疑われています。
目次
known_hostsからホスト鍵を削除する
もちろん、悪意のあるサーバーに接続していないことが確認されていることが前提となりますが、known_hosts
から以前登録していたホスト鍵を削除することでこの問題を解消できます。
$ ssh-keygen -R 192.168.0.16
# Host 192.168.0.16 found: line 4
# Host 192.168.0.16 found: line 5
# Host 192.168.0.16 found: line 6
/Users/t0k0sh1/.ssh/known_hosts updated.
Original contents retained as /Users/t0k0sh1/.ssh/known_hosts.old
ssh-keygen -R
コマンドで接続先のサーバーを指定するとknown_hosts
からホスト鍵を削除できます。
再度接続を試みと、初回接続時と同じように接続するかの確認が行われます。
$ ssh 192.168.0.16
The authenticity of host '192.168.0.16 (192.168.0.16)' can't be established.
ED25519 key fingerprint is SHA256:FNjxRHnzRjm709c/sch7pZ9SuPjj0S6lp8ZrY+0scks.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '192.168.0.16' (ED25519) to the list of known hosts.
t0k0sh1@192.168.0.16's password:
Welcome to Ubuntu 22.04 LTS (GNU/Linux 5.15.0-27-generic x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
System information as of Tue Apr 26 11:20:18 PM UTC 2022
System load: 0.080078125 Temperature: 39.0 C
Usage of /: 6.7% of 97.87GB Processes: 143
Memory usage: 1% Users logged in: 1
Swap usage: 0% IPv4 address for wlp1s0: 192.168.0.16
1 update can be applied immediately.
To see these additional updates run: apt list --upgradable
Last login: Tue Apr 26 23:03:25 2022
t0k0sh1@192.168.0.16:~$
依然と同じホスト鍵を使用している場合はこの問題は起きませんが、そうでない場合は、
- サーバーを再インストールした
- 別のサーバーだが同じIPアドレスやホスト名のサーバを立てた
- ホスト鍵を変更した
といったときに発生します。