事象
接続したことがあるSSHサーバにIPアドレスや名前でSSH接続しようとしたら以下のようなメッセージが表示され、接続できない。
$ ssh user@remote_host
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ 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:3prlFeCQU9Qx2AsV6JzQYV257qbsHm4ToXcp5FbSdUU.
Please contact your system administrator.
Add correct host key in /home/kuzuri-man/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /home/kuzuri-man/.ssh/known_hosts:2
remove with:
ssh-keygen -f "/home/kuzuri-man/.ssh/known_hosts" -R "remote_host"
ECDSA host key for remote_host has changed and you have requested strict checking.
Host key verification failed.
原因
以前ログインした際にローカル端末上にサーバのフィンガープリントを登録していたが、今回ログインしようとしたリモート先のサーバのフィンガープリントが何らかの原因(構築し直したとか)で変更されていて、セキュリティ上の措置として、「今接続しようとしたサーバは知ってるサーバとちゃいます!」と、アクセスを拒否した。
対応(ローカルに保存されているフィンガープリントを退避する)
以下のコマンドで退避できる。(同じフォルダに.oldが末尾についたファイル名にリネームされる)
ssh-keygen -R remote_host
remote_host の部分は接続先のIPアドレスや名前に変えてから実行すること。
コメント