Jaki jest cel losowego obrazu dla kluczy SSH użytkownika (nie hosta)?


95

ssh-keygenWytwarza się następujące wyniki:

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

Jaki jest cel tego obrazu, czy zapewnia on jakąkolwiek wartość dla użytkownika? Uwaga: jest to klucz klienta (użytkownika), a nie klucz hosta.



Google jest twoim przyjacielem: sanscourier.com/blog/2011/08/31/…
Networker

2
ponownie otwarte, ponieważ kilku stałych klientów polubiło to Q i pomyślało, że będzie to miły dodatek do strony.
slm

2
Myślę, że to dobre pytanie. Chociaż powyższe linki są interesujące, żadne z nich nie odnosi się do zadanego pytania. Oba te linki mówią o przydatności losowej grafiki dla kluczy hosta, a nie o tym, dlaczego jest pokazywana dla kluczy użytkowników.
Patrick

1
Po prostu FYI, wysłałem to pytanie na listę mailingową OpenSSH pewnego dnia. Do tej pory świerszcze. lists.mindrot.org/pipermail/openssh-unix-dev/2014-July/…
Patrick

Odpowiedzi:


55

Zostało to wyjaśnione w tym pytaniu: https://superuser.com/questions/22535/what-is-randomart-produced-by-ssh-keygen . Tak naprawdę nie ma on żadnego zastosowania dla użytkownika generującego klucz, a raczej dla ułatwienia weryfikacji. Osobiście. wolisz na to spojrzeć: (Uwaga: to przykład klucza hosta)

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)

Które, będąc człowiekiem, zajęłoby ci dłuższą chwilę weryfikację, lub to:

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

Przykłady pobrane z http://sanscourier.com/blog/2011/08/31/what-the-what-are-ssh-fingerprint-randomarts-and-why-should-i-care/

Zasadniczo losowa grafika generowana przez klucze użytkownika może być również używana w ten sam sposób. Jeśli obraz wygenerowany początkowo różni się od bieżącego obrazu klucza, na przykład jeśli klucz został przeniesiony, klucz prawdopodobnie został sfałszowany, uszkodzony lub wymieniony.

To, z drugiego pytania, jest naprawdę dobre: http://users.ece.cmu.edu/~adrian/projects/validation/validation.pdf


1
To nie odpowiada na pytanie. Podane informacje dotyczą kluczy hosta. Pytanie dotyczy kluczy użytkowników.
Patrick

8
Obawiam się, że się nie zgadzam, pytanie brzmiało: Jaki jest cel tego obrazu, czy zapewnia on jakąkolwiek wartość dla użytkownika? Odpowiedziałem, że zasadniczo nie ma żadnej wartości dla użytkownika generującego wspomniany klucz. Jeśli coś przeoczyłem lub chciałbyś, abym dodał dodatkowe przykłady itp., Daj mi znać. Jestem tu nowy.
Torger597,

1
Zgadzam się, o to pytano o klucze użytkowników , a nie klucze hostów.
Patrick

3
Użyłem kluczy hosta jako przykładu, ponieważ jest tam podstawowa zasada, chociaż wymyślę i dodam przykład klucza użytkownika. Dziękuję za wkład, Patrick.
Torger597,

13

Wydaje się, że istnieje wiele zamieszania na temat różnicy między kluczem hosta a kluczem użytkownika.

Klucz hosta służy do ustalenia tożsamości hosta zdalnego.
Klucz użytkownika służy do ustalenia tożsamości użytkownika na zdalnym hoście.
Ponieważ te klucze są zwykle przedstawiane jako ciąg znaków, może być trudno człowiekowi stwierdzić na pierwszy rzut oka, czy się zmieniły. To jest cel randomart. Niewielkie odchylenie w kluczu spowoduje znacznie inny obraz randomart.

Jeśli chodzi o to, dlaczego Cię to obchodzi, ważne jest, aby zweryfikować tożsamość zdalnego hosta, ponieważ możliwe jest, że ktoś może przechwycić Twój ruch ( atak MITM ) i przeglądać / manipulować wszystkim wysłanym i odebranym.

Jednak weryfikacja siebie nie jest ważna. Nie musisz potwierdzać „tak, jestem ja”. Nawet jeśli w jakiś sposób zmienił się klucz użytkownika, serwer zdalny wpuści cię lub nie. Twoje połączenie nie jest narażone na większe ryzyko podsłuchu.

 

Więc dlaczego zatem ssh-keygenpokazać obraz randomart podczas generowania klucza użytkownika ?
Ponieważ kiedy kod randomart został wprowadzony do ssh-keygen [grunk@cvs.openbsd.org 2008/06/11 21:01:35] , klucze hosta i klucze użytkownika zostały wygenerowane dokładnie w ten sam sposób. Dodatkowe informacje wyjściowe mogą nie mieć żadnego zastosowania dla klucza użytkownika, ale nie boli (z wyjątkiem potencjalnie powodujących zamieszanie).

Teraz, kiedy powiedziałem „kiedy wprowadzono kod randomart”, było to spowodowane tym, że kod się zmienił. Obecnie większość dystrybucji używa ssh-keygen -Agenerowania kluczy hosta, co jest nową funkcją. Ta funkcja generuje wiele różnych typów kluczy (rsa, dsa, ecdsa) i nie wyświetla losowego obrazu. Stara metoda nadal może być używana do generowania kluczy hosta, ale ogólnie nie jest. Tak więc teraz stara metoda jest używana tylko dla kluczy użytkowników, ale funkcja randomart pozostaje.


Nie musisz potwierdzać „tak, jestem ja”. tak, choć bardziej precyzyjnie byłoby powiedzieć „tak, wyglądam jak ja”. Jeśli zdarzy ci się mieć wiele kluczy, możesz potrzebować dodatkowej informacji zwrotnej, aby upewnić się, że używasz właściwego.
Alois Mahdal

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.