Im ersten Teil dieses Beitrags zeigt der Autor einen einfachen und sicheren Weg, auf einem Mac in drei Befehlen einen SSH-Schlüssel zu erstellen, der GitHub unterstützt. Der zweite Teil erklärt für neugierige Leser, was im Hintergrund passiert.
Macs verfügen über eine integrierte Secure Enclave, in der Identitäten erstellt werden können, die sehr schwer zu stehlen sind. Diese Identitäten werden durch Touch ID geschützt und können für die SSH-Authentifizierung verwendet werden. Im Vergleich zu herkömmlichen SSH-Schlüsseldateien bietet dieser Ansatz mehrere Vorteile. Das Material des privaten Schlüssels kann weder extrahiert noch angezeigt werden, sodass es nicht gestohlen werden kann. Der Benutzer wird jedes Mal aufgefordert, wenn die Identität verwendet wird. Außerdem gibt es keine Schlüsseldateien wie ~/.ssh/id_ed25519, die das Dateisystem belasten, und keine Gefahr, sie versehentlich zu löschen. Dieser Schutz gilt überall dort, wo SSH verwendet wird, einschließlich Git über SSH mit GitHub.
Die schnelle Einrichtung umfasst drei Schritte. Erstens erstellen Sie die Identität mit dem Befehl sc_auth und bestätigen mit Touch ID. Zweitens führen Sie ssh-add mit der Bibliothek ssh-keychain.dylib aus, um SSH mitzuteilen, die Identität zu verwenden, wobei die PIN-Abfrage leer bleibt. SSH vergisst diese Einstellung nach einem Neustart, daher muss der Befehl erneut ausgeführt werden. Drittens führen Sie ssh-add -L aus, um den öffentlichen Schlüssel anzuzeigen, und fügen ihn zu GitHub hinzu. Zeilen, die mit sk-ecdsa-sha2-nistp256 beginnen, kennzeichnen den richtigen Schlüssel, wenn mehrere aufgelistet werden.
Nach der Konfiguration lösen Vorgänge wie git push eine Touch-ID-Abfrage aus. Der private Schlüssel kann nicht weitergegeben werden, doch wenn der Mac verloren geht oder ausfällt, geht auch die Identität verloren. Dann muss eine neue erstellt und bei Diensten wie GitHub erneut registriert werden.
Quelle: Hacker News · Zusammengefasst von HeadlinesBriefing