SSHにはどんな指紋が必要ですか?

SSHにはどんな指紋が必要ですか?
$ ssh 192.168.29.126
The authenticity of host '192.168.29.126 (192.168.29.126)' can't be established.
ECDSA key fingerprint is SHA256:1RG/OFcYAVv57kcP784oaoeHcwjvHDAgtTFBckveoHE.
Are you sure you want to continue connecting (yes/no/[fingerprint])?

必要な「指紋」とは何ですか?

答え1

この質問は、SSH で認識されないホストを信頼して接続を続けたいかどうかを尋ねます。答えることができるいくつかの方法があります。

  • yes、あなたはこのホストを信頼して接続し続けたいです。
  • no、ホストを信頼せず、ホストに接続し続けたくありません。
  • [fingerprint]つまり、ホストキーのハッシュである指紋を質問に対する回答として貼り付けることができるという意味です。貼り付けたフィンガープリントがホストのフィンガープリント(SSH経由で取得)と同じ場合は接続が続行され、それ以外の場合は終了します。

質問に肯定的に答える指紋は、実際の質問に表示される正確な文字列です(SHA256:1RG/OFcYAVv57kcP784oaoeHcwjvHDAgtTFBckveoHEあなたの場合)。この指紋をすでに別の場所に保存している場合は、長い文字列を視覚的に比較するよりも、そこから貼り付ける方が簡単です。

簡単に言えば、3番目の答えは、ホストの指紋があなたが思うものと一致することを確認する便利な方法を提供します。


質問に答えるには、指紋を使用してください。紹介を受けるOpenSSH 8.0(2019)で。

メッセージ読み取りコミット

不明なホストキーを受け入れる場合は、ホストキーのフィンガープリントを「はい」の同義語として受け入れます。これにより、帯域外で得られた指紋を「はい」または「いいえ」プロンプトに貼り付け、クライアントが比較できるようにすることができます。わかりました、マーカス@djm@

答え2

非常に抽象的なユーザーレベルで:フィンガープリントはサーバーの暗号化キーペアから派生し、その目的は予想値を確認するための信頼できる通信チャネルが異なることです。これは実際にユーザーと話していると確信しています。サーバーあなたは話したいです。 (つまり、システムサポートセンターに電話して「私が見なければならない指紋を読んでください」と尋ねると、おそらくあなたがこの質問をする最初の人であり、どうするべきかを知る必要があると言うでしょう。特別なDNSレコードを見ることができ、SSH接続を送信したい人はDNSルックアップを送信または偽造することはできません。

それとも、指紋が実際にどのように派生するのでしょうか?

関連情報