ssh-keygenによって生成されたrandomartとは何ですか?


352

キーを生成すると、OpenSSHの新しいバージョンから「randomart」が取得されます。理由と、それを何に使用するかについての説明を見つけることができません。

Generating public/private rsa key pair.
The key fingerprint is:
05:1e:1e:c1:ac:b9:d1:1c:6a:60:ce:0f:77:6c:78:47 you@i
The key's randomart image is:
+--[ RSA 2048]----+
|       o=.       |
|    o  o++E      |
|   + . Ooo.      |
|    + O B..      |
|     = *S.       |
|      o          |
|                 |
|                 |
|                 |
+-----------------+

Generating public/private dsa key pair.
The key fingerprint is:
b6:dd:b7:1f:bc:25:31:d3:12:f4:92:1c:0b:93:5f:4b you@i
The key's randomart image is:
+--[ DSA 1024]----+
|            o.o  |
|            .= E.|
|             .B.o|
|              .= |
|        S     = .|
|       . o .  .= |
|        . . . oo.|
|             . o+|
|              .o.|
+-----------------+

5
もう1つの質問は、次のとおりです。randomartイメージを他の人と共有しても安全ですか?言い換えれば、上記のようなランダムアート画像が与えられた場合、これをリバースエンジニアリングしてキーに戻すことは可能ですか?
AndyJ0076

回答:


259

randomartは、人間がキーを検証するためのより簡単な方法を意図しています。

検証は通常、意味のない文字列(つまり、キーフィンガープリントの16進表現)の比較によって行われますが、人間は比較が非常に遅く、不正確です。Randomartはこれを、より高速で比較しやすい構造化された画像に置き換えます。

この論文「ハッシュビジュアライゼーション:現実世界のセキュリティを改善する新しい手法」、Perrig A.およびSong D.、1999年、暗号化手法と電子商取引に関する国際ワークショップ(CrypTEC '99)で、いくつかの手法と利点について説明しています。


66
なぜ人間がキーを検証するのかを説明できるなら、それは助けになります。なぜなら、率直に言って、私はちょうど自分の公開鍵をauthorized_keysファイルに入れてそれを行うからです。
dlamblin

43
@dlamblin:通常、これで自分のキーを検証することはありません。ただし、リモートマシンのホストキーの検証には役立ちます。1つのアイデアは、さまざまな場所から特定のマシンにログインする(または、そのキーをknown_hostsファイルに保存しない)と、ホストのキーの「アート」を認識できるようになるということです。そのアートが突然変更された場合、接続で中間者攻撃が進行中であることを意味する可能性があるため(または、ホストが他のキーのキーを変更しただけである可能性があるため、パスワードの入力には注意が必要です)理由)。
クリスジョンセン

29
えーと、いつホストアートを見ることができますか?(私は決してしなかったと思います。)私は自分のキーペアを生成した後にのみそのような画像を見ました。そして、「突然の」変化を認識するために何を比較しなければならないでしょうか。
DerMike

12
randomartは、整合性チェックのハッシュと同様の原則、つまり、入力のわずかな違いが大きく異なる出力を生成することを望んでいます。つまり、何かがおかしいことに気付くには、予想されるrandomartの大まかな形状を覚えておかなければなりません。もちろん、SSHなどが接続先のホストのrandomartを表示しない場合、実際には機能しません(ホストがわかっている場合でも表示されるはずです)。
アランプラム

2
コピーが完了した後に公開キーが整合性チェックのために直接交換される場合、これらが最も役立つと思います。
ヨルダンプ14年

198

追加

-o VisualHostKey=yes 

コマンドラインに、または

VisualHostKey=yes 

あなたの~/.ssh/config

ログオンしているボックスのrandomartが表示されます。ある日ログオンし、ランダムなアートが異なる場合(あなたの脳は行くべきです!私はそれを認識しません!)、おそらく誰かがハッキング、または何かです。

アイデアは、あなたが意識的にそれをする必要がないということです。機械のキーの1つは、蝶のように見えます。もう1つは、まるでペニスのように見えます(はい、脳は原始的です)。毎日ログオンすると、試してさえいなくても画像に慣れることができます。


9
良くない。以前にログインしたことがある場合は、コンピューターが保存された指紋を使用して認識を行う方がはるかに優れています。この機能は、新しいマシンへのログインにのみ使用されることを意図しています。
ニコラスウィルソン

57
この答えにはかなり遅れていますが、known_hostsをすべて持たない別のマシンからログインしている場合、これは非常に役立つことを指摘する価値があります。その場合、コンピューターは既知であることを確認できませんが、ユーザーは「それは通常とは大きく異なるように見えます!」中止します。
Xkeeper

9
コンピューターに認識させることは、ハッキングされるコンピューターの既知のホストに対して脆弱です。コンピューターにパスワードを入力させないように、ホストのキーを自分で検証する方が良いでしょう。
マルコトポリニク

37

公式発表:OpenSSH 5.1リリース

実験的なSSH Fingerprint ASCII Visualizationをssh(1)およびssh-keygen(1)に導入。視覚的なfingerprinnt表示は、新しいssh_config(5)オプション「VisualHostKey」によって制御されます。目的は、SSHホストキーを視覚的な形式でレンダリングし、変更されたホストキーを簡単に呼び出したり拒否したりできるようにすることです。この手法は、「ランダムアート[*]」として知られるグラフィカルなハッシュ視覚化スキームと、ベルリンの23C3でのダンカミンスキーの黙想に触発されました。

ランダムアートの生成に使用されるアルゴリズムは変更される可能性があるため、指紋の視覚化は現在デフォルトで無効になっています。


8
実際、最後の文は知っておく価値があります。 OpenBSD Journal @ Undeadly.orgのOpenSSH 6.8リリース状態に関する情報は、「ビジュアルホストキーも異なることに注意してください。」新しいソフトウェアは、古いソフトウェアで表示される画像とは異なる画像を表示します。
TOOGAM


11

ssh-keygenの生成後に表示されるRandomartは、生成したばかりのキーのグラフィック表現です。次に:

  • Randomartは、ssh-keyを生成したユーザーにとってあまり役に立ちませ

  • Randomartは、SSH経由の接続を使用して同じサーバーに頻繁に接続するユーザーにとって非常に便利です。SSHコマンドに「-o VisualHostKey = yes」オプションを追加した場合:

    ssh user@domainname.com -o VisualHostKey = yes

サーバーの公開鍵に対応するRandomartが表示されます。

例を見るには、次を試してください:

ssh git@github.com -o VisualHostKey = yes

ユーザーが頻繁に同じサーバーに接続する場合、このサーバーの公開鍵対応するRandomartを認識しているかどうかをすばやく簡単に確認できます。これは、公開鍵自体の文字列をチェックするよりも簡単で高速です!

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.