server-memo.net

SSH接続で WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!

      2016/01/22

macからsshでとあるサーバ接続する際に「  WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!    」と表示され接続できなくなりました。

192.168.1.00というサーバに接続した際のメッセージ
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    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 RSA key sent by the remote host is
33:95:b2:19:c0:b0:e4:91:a0:55:94:65:4a:af:58:c9.
Please contact your system administrator.
Add correct host key in /Users/tamohiko/.ssh/known_hosts to get rid of this message.
Offending RSA key in /Users/tamohiko/.ssh/known_hosts:5
RSA host key for 192.168.1.100 has changed and you have requested strict checking.
Host key verification failed.

メッセージの意味

このメッセージはざっくり言うと、接続先サーバのRSA鍵情報とクライアントに保存されている情報が前回接続した情報異なっている為に表示されています。

SSHの接続では正しいサーバに接続していることを確認するために、クライアントからサーバに接続すると、初回接続時に接続先サーバのRSA鍵情報がクライアントに保存されます。

その後の接続では、クライアントに保存されている情報とサーバの情報を比較することで、正しいサーバに接続しているかの確認を行っています。

※なぜ、こんな動作になっているのかと言うと、悪意のある第三者が、なんらかの方法でサーバを入れ替えて、ユーザのアカウントやパスワードを盗み見しようとする等のことを防止するためです。

対応方法

今回の現象はサーバ上のRSA鍵の情報と、クライアントに保存されているRSA鍵の情報が異なっているために発生しているので、対応方法としては、クライアント上に保存されているRSA鍵情報を削除し、再度サーバに接続しRSA鍵の情報を再取得することで接続が出来るようになります。

クライアント側のRSA鍵情報の保存場所については、表示されているメッセージに書かれています。

私の場合ですと、表示されているメッセージより下記の場所に保存されていることが分かります。

/Users/tamohiko/.ssh/known_hosts

RSA鍵の場所が分かりましたので、早速その情報を消していきます。

作業はターミナル上で「vi」などのエディタを使用し、対象のファイルを編集するという内容になります。(編集するファイルの名前はそれぞれの環境で違いますので、表示されているメッセージを確認して下さい。)

vi /Users/tamohiko/.ssh/known_hosts

viでファイルを開くと、SSHで接続しようとしている対象サーバのIPアドレスか、FQDNが表示されている箇所があるので、その部分を消去してしまいます。

消去が終わりましたら、ファイルを閉じてSSHで再度サーバに接続してみてください。

RSA鍵の情報を削除してしまいましたので、初回の接続と同様に接続先サーバのRSA鍵のfingerprint情報が表示され、接続して良いかの確認メッセージが表示されます。

「yes」と入力すると、known hostsにRSAを加えたよ表示され、接続が可能となります。

$ ssh 192.168.1.100
The authenticity of host '192.168.1.100 (192.168.1.100)' can't be established.
RSA key fingerprint is 33:95:b2:19:c0:b0:e4:91:a0:55:94:65:4a:af:58:c9.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.100' (RSA) to the list of known hosts.

セキュリティ上の注意

今回は、私が接続先サーバのOSを再インストールしたことで、この表示が発生したので、原因がわかっているので問題ないのですが、特に原因が思い当たらないのにこのメッセージが出た場合は、接続先サーバの管理者に連絡し確認をすることをお勧めします。

また、本来ならば初回接続時のRSA鍵のfingerprint情報についても、事前にサーバ管理者に確認しておいて、接続先サーバに間違いがないかを確認してらか接続したほうが良いです。

ちなみに、サーバ側でのRSA鍵のfingerprintを確認する方法はここに記述しています。

以上。

 - mac