Fingerabdrücke eines RSA-Schlüssels - GitHub stimmt nicht überein?

Aug 20 2020

Ich frage mich, wie diese RSA-Fingerabdrücke funktionieren. Ich habe ein GitHub-Konto und ein RSA-Schlüsselpaar erstellt, um eine SSH-Verbindung herzustellen. Dann folgte ich den Anweisungen ... Wenn ich mich zum ersten Mal mit meinem GitHub verbinde, erhalte ich einen RSA-Fingerabdruck. SHA256:nThbkt6JwfF............Ok, ich mache dies für den Lernprozess, also google ich, was dies bedeutet, und versuche, einen Fingerabdruck aus meinem RSA-Schlüssel zu generieren - und das sollte auch so sein passend zu dem von meinem GitHub-Account, oder? Aber es tut nicht, was ich nach dem Gebrauch bekomme: ssh-keygen -lf ~/.ssh/id_rsa ist nicht dasselbe wie es istSHA256: t6Rjff8djE........

Mache ich hier etwas falsch, um festzustellen, ob der angegebene Fingerabdruck legitim ist?

Antworten

1 KamilKurzynowski Aug 20 2020 at 16:01

SSH erfordert zwei öffentlich-private Schlüsselpaare. Eine auf der Serverseite und eine auf der Clientseite. Wenn Sie in einfachen Fällen etwas verschlüsseln möchten, das an den Server gesendet wird, verwenden Sie den öffentlichen Serverschlüssel (dieser wird auf der Serverseite mit dem privaten Serverschlüssel entschlüsselt). Wenn der Server etwas an Sie sendet, verwendet er Ihren öffentlichen Schlüssel (Sie entschlüsseln ihn mit Ihrem auf Ihrem Computer gespeicherten privaten Schlüssel).

Der Server präsentiert seinen Fingerabdruck (nicht den Fingerabdruck Ihres Zertifikats). So können Sie den vom Server präsentierten öffentlichen Schlüssel überprüfen. Normalerweise werden Fingerabdrücke zwischengespeichert, sodass der SSH Sie beim nächsten Mal nicht dazu auffordert.

Wenn Sie Ihren öffentlichen Schlüssel auf dem Github konfigurieren, teilen Sie dem Github im Grunde mit, welchen Schlüssel Sie für die Authentifizierung und den Schlüsselaustausch verwenden. Github "vertraut" darauf, dass dieser Schlüssel von Ihnen stammt, da Sie sich mit Ihrem Passwort authentifizieren, um ihn hochzuladen. Theoretisch können nur Sie Ihre Daten entschlüsseln, da nur Sie den entsprechenden privaten Schlüssel haben. Durch das Hochladen des Schlüssels stellen Sie eine Vertrauensbeziehung zwischen Ihrem Computer und dem GitHub-Server her.

Wenn sich der Fingerabdruck des von Ihnen hochgeladenen Schlüssels vom Fingerabdruck des Schlüssels auf Ihrem Computer unterscheidet, wird dies höchstwahrscheinlich verursacht durch:

  1. Fingerabdruck falscher Tasten.
  2. Der ursprüngliche Schlüssel wurde durch mehrmaliges Ausführen des Generierungsbefehls überschrieben.
  3. Verwechseln des vom Server kommenden Fingerabdrucks (Server-Fingerabdruck) mit Ihrem eigenen Zertifikat-Fingerabdruck.