Ich richte einen neuen Ubuntu-Server (18.04) ein und habe während der Installation bemerkt, dass ich öffentliche Schlüssel von GitHub importieren konnte. Ich habe die Einrichtung nun abgeschlossen und möchte weitere Benutzer erstellen. Es scheint ideal, wenn möglich weiterhin ihre öffentlichen Schlüssel von GitHub zu importieren. Gibt es eine Möglichkeit, diese Funktion zum Importieren von Schlüsseln aus einem öffentlichen GitHub-Profil für einen Benutzer außerhalb des Installationsvorgangs auszulösen?
Antwort1
Kurz nachdem ich die Frage gestellt hatte, fand ich die Antwort. Es gibt einen speziellen Befehl ssh-import-id
, mit dem man SSH-Schlüssel importieren kann. DerManpage für ssh-import-iderklärt es ganz gut. Es wird gehostet alsssh-import-id auf Launchpadsowie.
Grundlegende Verwendung:
# import keys from github
ssh-import-id-gh <username>
Ich hoffe, das hilft anderen.
Antwort2
GitHub stellt dies über eineAPI-Endpunktdie Sie herunterladen und analysieren können. Leider werden hier Objekte im JSON-Format zurückgegeben, sodass die Analyse manchmal etwas schwierig ist (insbesondere in der Shell).
Glücklicherweise gibt es einen weiteren Endpunkt, um die öffentlichen SSH-Schlüssel eines Benutzers abzurufen:
https://github.com/<username>.keys
Damit können Sie wget
ganz einfach und ohne Parsen Schlüssel herunterladen und anhängen:
wget -O - https://github.com/myuser.keys >> /home/myuser/.ssh/authorized_keys
Beachten Sie, dass Sie zur Verwendung dieses Befehls Schreibberechtigungen für das Homedir dieses Benutzers benötigen. Sie können optional tee -a
auch Folgendes verwenden, was einfacher wäre, wenn die Berechtigungen nicht garantiert sind:
wget -O - https://github.com/myuser.keys | sudo tee -a /home/myuser/.ssh/authorized_keys