2007年11月29日木曜日

~/.ssh/known_hosts

 Linuxからあるマシンにsshで接続しようとした際の話。

$ssh -X [ユーザー名]@[サーバ名]

として、接続しようとしたが以下のようなエラーメッセージがでた。

------------------エラーメッセージ--------------------
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ 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 the DSA host key has just been changed.
The fingerprint for the DSA key sent by the remote host is
18:86:0b:ec:64:34:b1:c3:37:49:61:9c:ed:80.
Please contact your system administrator.
Add correct host key in /home/staff/hoge/.ssh/known_hosts to get rid of this message.
Offending key in /home/staff/hoge/.ssh/known_hosts:6
DSA host key has changed and you have requested strict checking.
Host key verification failed.
----------------------------------------------------

 エラーメッセージの最初に出力されているように、これは

接続先サーバーと通信するための暗号の鍵が変更されたため

に起こったもの。
 鍵は最初に通信した際にクライアント側に保存されており、今回はそれが変更されたとのこと。サーバ管理者に問い合わせたところ、マシンが変わったとか。

そこでクライアント側では、

~/.ssh/known_hostsにおいて、接続先ホストの公開鍵が記述されている部分を削除する

必要があったのだ。

0 件のコメント: