Qual è lo scopo dell'immagine randomart per le chiavi SSH dell'utente (non host)?


95

Il ssh-keygengenera il seguente output:

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.   |
+-----------------+

Qual è lo scopo di questa immagine, fornisce qualche valore per l'utente? Nota: questa è una chiave client (utente), non una chiave host.




2
riaperto poiché a molti clienti abituali è piaciuto questo Q e ho pensato che sarebbe stata una bella aggiunta al sito.
slm

2
Penso che questa sia una buona domanda. Mentre i link sopra sono interessanti, nessuno dei due affronta la domanda che viene posta. Entrambi questi collegamenti parlano dell'utilità di randomart per le chiavi host, non del motivo per cui viene mostrato per le chiavi utente.
Patrick,

1
Solo un FYI, l'altro giorno ho inviato questa domanda alla mailing list di OpenSSH. Finora, i grilli. lists.mindrot.org/pipermail/openssh-unix-dev/2014-July/…
Patrick

Risposte:


55

Questo è stato spiegato in questa domanda: https://superuser.com/questions/22535/what-is-randomart-produced-by-ssh-keygen . Non ha davvero alcun utilità per l'utente che genera la chiave, piuttosto per facilità di convalida. Personalmente. preferiresti guardare questo: (Nota che questo è un esempio di chiave host)

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)

Che, essendo un essere umano, ti occorrerebbe molto più tempo per verificarlo, o questo:

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     |
|        . .      |
+-----------------+

Esempi tratti da http://sanscourier.com/blog/2011/08/31/what-the-what-are-ssh-fingerprint-randomarts-and-why-should-i-care/

In sostanza, l'arte casuale generata dalle chiavi dell'utente può anche essere usata nello stesso modo. Se l'immagine generata inizialmente è diversa dall'immagine corrente della chiave, ad esempio se si era spostata una chiave, probabilmente la chiave era stata manomessa, danneggiata o sostituita.

Questa, dall'altra domanda, è davvero una buona lettura: http://users.ece.cmu.edu/~adrian/projects/validation/validation.pdf


1
Questo non risponde alla domanda. Le informazioni fornite riguardano le chiavi host. La domanda è relativa alle chiavi utente.
Patrick,

8
Temo di non essere d'accordo, la domanda era: qual è lo scopo di questa immagine, fornisce un valore per l'utente? E ho risposto che essenzialmente non ha alcun valore per l'utente che genera tale chiave. Se ho perso qualcosa o desideri aggiungere altri esempi, per favore, fammi sapere. Sono nuovo qui.
Torger597,

1
Sono d'accordo, questo è ciò che è stato chiesto, sulle chiavi utente , non sulle chiavi host.
Patrick,

3
Ho usato le chiavi host come esempio, perché il principio di base è lì, anche se inventerò e aggiungerò un esempio di chiave utente. Grazie per l'input, Patrick.
Torger597,

13

Sembra esserci molta confusione sulla differenza tra una chiave host e una chiave utente.

Una chiave host viene utilizzata per stabilire l'identità dell'host remoto.
Una chiave utente viene utilizzata per stabilire l'identità di te stesso sull'host remoto.
Dal momento che questi tasti sono in genere mostrati solo come una sequenza di caratteri, può essere difficile per un essere umano capire a colpo d'occhio se sono cambiati. Questo è lo scopo di randomart. Una piccola deviazione nella chiave causerà un'immagine randomart significativamente diversa.

Per quanto riguarda il motivo per cui ti interesserebbe, è importante verificare l'identità dell'host remoto, poiché è possibile che qualcuno possa intercettare il tuo traffico ( attacco MITM ) e visualizzare / manipolare tutto ciò che viene inviato e ricevuto.

Tuttavia, non è importante verificarsi. Non è necessario confermare "Sì, sono io". Anche se in qualche modo la tua chiave utente è cambiata, il server remoto ti lascerà entrare o non lo farà. La tua connessione non corre alcun rischio di intercettazione.

 

Allora perché allora ssh-keygenmostra l'immagine randomart quando generi la tua chiave utente ?
Perché quando il codice randomart è stato introdotto in ssh-keygen [grunk@cvs.openbsd.org 2008/06/11 21:01:35] , le chiavi host e le chiavi utente sono state generate esattamente allo stesso modo. L'output di informazioni extra potrebbe non essere di alcuna utilità per una chiave utente, ma non danneggia (oltre a causare potenzialmente confusione).

Ora, quando ho detto "quando è stato introdotto il codice randomart", ciò è dovuto al fatto che il codice è cambiato da allora. In questi giorni, la maggior parte delle distribuzioni utilizzano ssh-keygen -Aper generare chiavi host, che è una nuova funzionalità. Questa funzione genera numerosi tipi diversi di chiavi (rsa, dsa, ecdsa) e non mostra un'immagine a caso. Il vecchio metodo potrebbe ancora essere utilizzato per generare chiavi host, ma generalmente non lo è. Quindi ora il vecchio metodo viene utilizzato solo per le chiavi utente, ma la funzione randomart rimane.


Non è necessario confermare "Sì, sono io". sì, anche se sarebbe un po 'più preciso dire "sì, mi assomiglio". Se ti capita di avere molte chiavi, potresti voler avere un feedback extra per assicurarti di usare quella giusta.
Alois Mahdal,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.