web-dev-qa-db-ja.com

ユーザー(ホストではない)のSSHキーのrandomartイメージの目的は何ですか?

ssh-keygenは、次の出力を生成します。

The key fingerprint is:
dd:e7:25:b3:e2:5b:d9:f0:25:28:9d:50:a2:c9:44:97 user@machine
The key's randomart image is:
+--[ RSA 2048]----+
|       .o o..    |
|       o +Eo     |
|        + .      |
|         . + o   |
|        S o = * o|
|           . o @.|
|            . = o|
|           . o   |
|            o.   |
+-----------------+

この画像の目的は何ですか。ユーザーに何か価値がありますか?これはクライアント(ユーザー)キーであり、ホストキーではないことに注意してください。

99
syntagma

これはこの質問で説明されました: https://superuser.com/questions/22535/what-is-randomart-produced-by-ssh-keygen 。これは、ユーザーがキーを生成するために実際に使用するものではなく、検証を容易にするためのものです。個人的に。むしろこれを見てください:(これはホストキーの例であることに注意してください)

2048 1b:b8:c2:f4:7b:b5:44:be:fa:64:d6:eb:e6:2f:b8:fa 192.168.1.84 (RSA)
2048 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48 Gist.github.com,207.97.227.243 (RSA)
2048 a2:95:9a:aa:0a:3e:17:f4:ac:96:5b:13:3b:c8:0a:7c 192.168.2.17 (RSA)
2048 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48 github.com,207.97.227.239 (RSA)

人間なので、確認するのに時間がかかりますが、これは次のようになります。

2048 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48 Gist.github.com,207.97.227.243 (RSA)
+--[ RSA 2048]----+
|        .        |
|       + .       |
|      . B .      |
|     o * +       |
|    X * S        |
|   + O o . .     |
|    .   E . o    |
|       . . o     |
|        . .      |
+-----------------+
2048 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48 github.com,207.97.227.239 (RSA)
+--[ RSA 2048]----+
|        .        |
|       + .       |
|      . B .      |
|     o * +       |
|    X * S        |
|   + O o . .     |
|    .   E . o    |
|       . . o     |
|        . .      |
+-----------------+

http://sanscourier.com/blog/2011/08/31/what-the-what-are-ssh-fingerprint-randomarts-and-why-should-i-care/ から抜粋した例

基本的に、ユーザーのキーによって生成されたランダムアートも同じ方法で使用できます。最初に生成されたイメージがキーの現在のイメージと異なる場合、たとえば、キーを移動した場合、キーは改ざん、破損、または交換された可能性があります。

これは、他の質問からの本当に良い読みです: http://users.ece.cmu.edu/~adrian/projects/validation/validation.pdf

58
Torger597

ホストキーとユーザーキーの違いについては、多くの混乱があるようです。

ホストキーは、リモートホストのIDを確立するために使用されます。
ユーザーキーは、リモートホストに対する自分のIDを確立するために使用されます。
これらのキーは通常、一連の文字としてのみ表示されるため、人間が一目でそれらが変更されたかどうかを判断するのは難しい場合があります。これがrandomartの目的です。キーにわずかなずれがあると、大幅に異なるランダムアート画像が生成されます。

誰かがあなたのトラフィックを傍受し( MITM攻撃 )、送受信されたすべてのものを表示/操作する可能性があるため、注意が必要な理由については、リモートホストのIDを確認することが重要です。

ただし、自分を確認することは重要ではありません。 「はい、私です」を確認する必要はありません。何らかの理由でユーザーキーが変更された場合でも、リモートサーバーは許可するか、許可しないかのどちらかになります。あなたの接続は盗聴のリスクが高くありません。

だからなぜssh-keygenユーザーキーを生成するときに、randomart画像を表示します
randomartコードが導入されたのはssh-keygen [[email protected] 2008/06/11 21:01:35]、ホストキーとユーザーキーはまったく同じ方法で生成されました。追加情報の出力は、ユーザーキーには役立たない場合がありますが、害を及ぼすことはありません(混乱を引き起こす可能性があることを除いて)。

さて、「randomartコードが導入されたとき」と言ったのは、コードが変わったからです。最近、ほとんどのディストリビューションはssh-keygen -A新しい機能であるホストキーを生成します。この機能は、さまざまな種類のキー(rsa、dsa、ecdsa)を生成し、randomartイメージを表示しません。以前の方法でもホストキーの生成に使用できますが、通常は使用されません。したがって、古い方法はユーザーキーにのみ使用されますが、randomart機能は残ります。

13
Patrick

https://medium.freecodecamp.com/the-geekiest-ugly-sweater-ever-34a2e591483f#.y1glvah8k

これらのランダムアートは非常に役立つことがわかりました。表示される可能性があるようにごちゃごちゃとして、それらは人間が16進コードの長い文字列よりも区別するのがはるかに簡単です。

3
xgqfrms