Dans la première partie de cet article, l'auteur présente une méthode simple et sécurisée pour créer une clé SSH sur un Mac en trois commandes, avec prise en charge de GitHub. La seconde partie explique ce qui se passe en coulisses pour les lecteurs curieux.
Les Mac disposent d'un Secure Enclave intégré, où peuvent être créées des identités très difficiles à voler. Ces identités sont protégées par Touch ID et peuvent être utilisées pour l'authentification SSH. Par rapport aux fichiers de clés SSH traditionnels, cette approche présente plusieurs avantages. Le matériel de la clé privée ne peut être ni extrait ni affiché, il ne peut donc pas être volé. L'utilisateur est sollicité à chaque utilisation de l'identité. Il n'existe pas non plus de fichiers de clés tels que ~/.ssh/id_ed25519 encombrant le système de fichiers, ni de risque de les supprimer par erreur. Cette protection s'applique chaque fois que SSH est utilisé, y compris pour git sur SSH avec GitHub.
La configuration rapide comporte trois étapes. Tout d'abord, créez l'identité avec la commande sc_auth et confirmez avec Touch ID. Ensuite, exécutez ssh-add avec la bibliothèque ssh-keychain.dylib pour indiquer à SSH d'utiliser l'identité, en laissant vide l'invite du code PIN. SSH oublie ce paramètre après un redémarrage, il faut donc le relancer. Enfin, exécutez ssh-add -L pour afficher la clé publique et ajoutez-la à GitHub. Les lignes commençant par sk-ecdsa-sha2-nistp256 identifient la bonne clé lorsque plusieurs sont listées.
Une fois configuré, des opérations comme git push déclenchent une invite Touch ID. La clé privée ne peut pas être cédée, mais si le Mac est perdu ou tombe en panne, l'identité est perdue elle aussi, et il faut en créer une nouvelle et la réenregistrer auprès de services comme GitHub.
Source: Hacker News · Résumé par HeadlinesBriefing