- ベストアンサー
公開鍵と秘密鍵
sshで初回にログインするときはサーバー側の公開鍵を登録しますか?というプロンプトがでると思います。 おそらく暗号化もせずにネットワーク上で送られてくるので改ざんの可能性が0とは言えないですよね? もちろん改ざんが行われたとしたらログインできないので検地することは可能でしょうが、ログイン妨害ができると思います。 ログインできないだけでもかなりの攻撃だと思うのでそれを防ぐ対策的なことはsshを使ううえでできないのでしょうか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
おっしゃる通りリモートホストへの初回ログイン時に公開鍵を登録する時は、接続しているリモートホストが正当なホストであるかどうかを判断することができません。 この問題を回避するために、公開鍵のFingerPrintを利用できます。 表示されたメッセージを確認すると、以下のようなFingerPrintの行が含まれています。 RSA key fingerprint is 28:d2:80:56:a3:3c:bf:5b:58:f6:68:97:7d:7d:68:db. このFingerPrintと接続しようとしているリモートホストの公開鍵のFingerPrintとを比較し、同じであれば yes を入力して ~/.ssh/known_host ファイルに公開鍵を登録します。 その為には、表示されたFingerPrintが正しいかどうかをリモートホストの管理者に確認しなければなりません。 なので公開鍵を登録する確認メッセージが表示されたときは、以下の手続きを行ってからに登録することが推奨されます。 1)公開鍵登録の確認メッセージが表示されたら、no を入力して中断する 2)メッセージ中のFingerPrintを控え、リモートホストの管理者にFingerPrintの値が一致しているかどうかを確認する 3)一致した場合は、再度リモートホストへ接続し、そのホストの公開鍵を ~/.ssh/known_host ファイルに登録する このような手順を踏むことで、正当なリモートホストの公開鍵を ~/.ssh/known_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 the RSA host key has just been changed. The fingerprint for the RSA key sent by the remote host is 6a:d1:e4:7a:30:ec:96:cb:cf:68:89:01:0b:97:cb:34. Please contact your system administrator. Add correct host key in /home/taro/.ssh/known_hosts to get rid of this message. Offending key in /home/taro/.ssh/known_hosts:1 RSA host key for turbossh has changed and you have requested strict checking. Host key verification failed. このようなメッセージが表示されたときは、リモートホストの鍵が本当に変更されたかどうかをサーバーの管理者に問い合わせる必要があります。 実際に、OS の再インストールが行われていたり、鍵のペアを生成し直したという事実が確認できたのであれば、~/.ssh/known_host をテキストエディタで開き、登録されている当該ホストの公開鍵を削除します。これにより、再度、公開鍵登録の確認メッセージが表示されるようになります。
お礼
詳しい解説ありがとうございます!