SSH接続で発生したWARNING の原因と対処法!REMOTE HOST IDENTIFICATION HAS CHANGED!

シェアする

Pocket

1.ワーニング発生

60爺が、sshで接続を行おうとしたところ、以下のエラーが発生しました!

@の中身は、「警告:リモートホストの識別が変更されました!」と言っています。

エラーメッセージを見ると、このメッセージを取り除くには、/home/mizutan/.ssh/known_hostsに正しいホスト鍵を追加してくださいと言っています。

mizutan@raspbian:~/.ssh $ ssh pi@192.168.254.213
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ 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
c9:9e:64:ee:93:b0:f2:86:bf:d5:63:ce:1f:21:09:4c.
Please contact your system administrator.
Add correct host key in /home/mizutan/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /home/mizutan/.ssh/known_hosts:3
remove with: ssh-keygen -f "/home/mizutan/.ssh/known_hosts" -R 192.168.254.213
ECDSA host key for 192.168.254.213 has changed and you have requested strict checking.
Host key verification failed.

2.原因と対処法

(1) 原因

これは、ssh接続先サーバがOSを再インストールした時や、ssh接続先サーバが dhcp によりアドレスが変わる時及び接続先サーバがホスト名を付け替えた時などに発生するものです。

~/.ssh/known_hosts に記録されている接続先のサーバ情報と、移行後のサーバの情報とが異なっているために出ている警告です。

対処方法なんですが、簡単なのは、.sshフォルダの中の known_hosts を削除してしまう方法です。

(2) 対処法

下記のようにファイル一覧を出します。

mizutan@raspbian:~ $ cd .ssh
mizutan@raspbian:~/.ssh $ ls -l
合計 8
-rw-r--r-- 1 mizutan mizutan 1554 7月 20 09:03 known_hosts
-rw-r--r-- 1 mizutan mizutan 666 5月 26 10:34 known_hosts.old

いきなり削除してもよいですが、何かあった時のためにバックアップすると共に、名称変更をします。

mizutan@raspbian:~/.ssh $ sudo mv known_hosts known_hosts_old20170804
mizutan@raspbian:~/.ssh $ ls -l
合計 8
-rw-r--r-- 1 mizutan mizutan 666 5月 26 10:34 known_hosts.old
-rw-r--r-- 1 mizutan mizutan 1554 7月 20 09:03 known_hosts_old20170804

これだけです。

ssh をやり直すと、known hosts.に追加していいかと聞かれるので yes と答えれば、今度は、エラーにもならず、ちゃんとつながります。

mizutan@raspbian:~/.ssh $ ssh pi@192.168.254.213
The authenticity of host '192.168.254.213 (192.168.254.213)' can't be established.
ECDSA key fingerprint is c9:9e:64:ee:93:b0:f2:86:bf:d5:63:ce:1f:21:09:4c.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.254.213' (ECDSA) to the list of known hosts.
pi@192.168.254.213's password:

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Fri Aug 4 13:15:08 2017 from www.mizutan.com
pi@raspberrypi:~ $

その後、先ほどの .ssh ディレクトリを見ると、known_hosts が作成されています。

ただ、この後、別のアドレスに ssh接続を行うたびに、いちいち上記の質問が来ますが、最初だけなので、ご勘弁ください。

3.その他の方法

その他にも、以下の方法があるようですので確認してみてください。

  • ssh-keygen -R hostname を用いる方法
  • -o ‘StrictHostKeyChecking no’オプションを使う方法
スポンサーリンク

シェアする

フォローする