Je suis en train de mettre en place un nouveau serveur Ubuntu (18.04) et j'ai remarqué pendant l'installation que je pouvais importer des clés publiques depuis github. J'ai maintenant terminé l'installation et je voudrais créer d'autres utilisateurs. Il semble idéal de continuer à importer leurs clés publiques de github si possible. Existe-t-il un moyen de déclencher cette fonctionnalité d'importation de clés à partir d'un profil public github pour un utilisateur en dehors du processus d'installation ?
Réponses
Trop de publicités?Peu de temps après avoir posté la question, j'ai trouvé la réponse. Il existe une commande spéciale ssh-import-id
qui peut importer des clés ssh. Le site Page de manuel de ssh-import-id l'explique très bien. Il est hébergé en tant que ssh-import-id sur launchpad également.
Utilisation de base :
# import keys from github
ssh-import-id-gh <username>
J'espère que cela aidera d'autres personnes.
GitHub fournit cela via un Point de terminaison de l'API que vous pouvez télécharger et analyser. Malheureusement pour nous, cela renvoie des objets dans un format JSON, donc c'est un peu difficile à analyser parfois (surtout dans le Shell).
Heureusement pour nous, il existe un autre point d'accès pour obtenir les clés publiques SSH d'un utilisateur :
https://github.com/<username>.keys
Vous pouvez l'utiliser avec wget
pour télécharger et ajouter des clés très simplement et sans aucune analyse syntaxique :
wget -O - https://github.com/myuser.keys >> /home/myuser/.ssh/authorized_keys
Notez que pour utiliser cette commande, vous devez avoir les droits d'écriture sur le répertoire personnel de cet utilisateur. Vous pouvez éventuellement utiliser tee -a
également, ce qui serait plus facile si les privilèges ne sont pas garantis :
wget -O - https://github.com/myuser.keys | sudo tee -a /home/myuser/.ssh/authorized_keys