Welche Bedeutung hat der Benutzer / Host am Ende einer öffentlichen SSH-Schlüsseldatei?


73

Ich kann nicht herausfinden, warum eine von generierte SSH-Public-Key-Datei ssh-keygeneinen Benutzer und einen Host am Ende hat.

Beispiel: id_rsa.pub

ssh-rsa ... rest of file ... /CA9gyE8HRhNMG6ZDwyhPBbDfX root@mydomain

Beachten Sie das root@mydomainam Ende der Datei.

Welche Bedeutung hat die root @ mydomain für den Authentifizierungsprozess, wenn ich den öffentlichen Schlüssel mit einem beliebigen Benutzer zur Authentifizierung mit meinem privaten Schlüssel verwenden kann?

Oder ist es nur ein Platzhalter, um herauszufinden, von wem es ausgestellt wurde?


2
Ich habe einige übereifrige Webformulare gesehen, bei denen das Kommentarfeld ein @ -Symbol enthält, aber es gibt keinen technischen Grund dafür.
Küken

Antworten:


106

Dieses Feld ist ein Kommentar und kann nach Belieben geändert oder ignoriert werden. Es ist user@hoststandardmäßig auf voreingestellt ssh-keygen.


1
Kurz und auf den Punkt. In der Lage zu sein, den Kommentar nach Belieben zu ändern, löste das Rätsel für mich. Ich dachte, es hätte eine Rolle bei der SSH-Authentifizierung.
Basil A

2
@BasilA Ich habe einige Schlüssel, bei denen ich sie vollständig entfernt habe.
Michael Hampton

3
Beim Einrichten der SSH-Schlüsselanmeldung für eine Instanz in Google Cloud Compute verwendet GCC dieses Kommentarfeld, um den Benutzernamen für die Instanz zu identifizieren, der der Schlüssel zugeordnet werden soll.
hBy2Py

53

Dies wird auf der Handbuchseite sshd(8)im Abschnitt über autorisierte Schlüssel kurz erklärt :

Protokoll 2 Öffentliche Schlüssel bestehen aus: Optionen , keytype , Base64-codierten Schlüssel , comment.

Im opensshZusammenhang mit autorisierten Schlüsseln gibt es nur die Bedeutung von Kommentaren. Es gibt jedoch SSH-Implementierungen, die diesem Teil die Bedeutung geben. Beispielsweise verwendet die SSH-Implementierung in LANCOM-Modems diesen Kommentar als Benutzernamen, für den der Schlüssel gültig ist.


6
+1 für das Zitieren des Mannes
Margarciaisaia

17

Wie bereits erwähnt, handelt es sich um einen Kommentar, mit dem Sie feststellen können, welcher Schlüssel zu welchem ​​gehört.

Wenn an einem einzigen Schlüssel in zB der Suche id_rsa.pubmacht es keinen großen Unterschied machen , aber wenn sie bei einer potenziell langen Liste von Schlüsseln suchen, wie , was Sie in der haben authorized_keysDatei, ist es sehr hilfreich, wenn einfach die Schlüssel identifizieren ist was.

Auch ssh-keygen‚s Standard ist user@hostname, was für typische Anwendungsfälle ist eine klare Kennung , welche Taste es ist ( user@domainwäre nicht).


5

Sehr, sehr einfach: Ich und du sind Menschen, die eine Maschine benutzen. Wenn Sie sich also dieses Beispiel ansehen, haben Sie Folgendes gepostet:

ssh-rsa [piles of gobbledygook]…CA9gyE8HRhNMG6ZDwyhPBbDfX root@mydomain

Eine Maschine kann dies lesen:

ssh-rsa [piles of gobbledygook]…CA9gyE8HRhNMG6ZDwyhPBbDfX

Ein Mensch kann diesen Kommentar lesen:

root@mydomain

Die Leute neigen dazu zu vergessen, dass, obwohl die Dinge auf Computersystemen kompliziert aussehen , sie tatsächlich um ein Vielfaches komplizierter sein könnten, wenn der Code nur für den Maschinenverbrauch entwickelt wurde. Ich meine, schauen Sie sich verdeckten Malware-Code an. Sobald Sie es dekodieren und formatieren, ist es für den Menschen lesbar. Aber jemand musste sich abmühen, um es den Menschen schwer zu machen, zu lesen.

Standardmäßig sind alle Arten von Codierungs- und Konfigurationsdateien auf einem Computersystem für den menschlichen Verzehr vorgesehen, weil ... wir Menschen Maschinen benutzen und Maschinen keine Dinge benötigen wie:

  • Bemerkungen.
  • Einrückungen.
  • Variablen und Funktionen, die in einer für Menschen lesbaren Sprache geschrieben sind.

Der Kommentar ist also für Sie und mich und für niemanden anderen bestimmt. Es würde höchstwahrscheinlich ohne Kommentar funktionieren. Aber wenn um 3 Uhr morgens einmal etwas nicht funktioniert und Sie nach dem richtigen öffentlichen Schlüssel suchen, werden Sie wünschen / träumen / beten, dass der Kommentar da ist.


7
„Maschinen müssen nicht Dinge wie ... Einrückungen“ Husten Python Husten
ein CVn

1
@ MichaelKjörling "... es sei denn, sie sollen sich um sie kümmern." :-)
hBy2Py
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.