Comment sécuriser l'accès à Github avec une clé SSH

Admin

Une photographie de la mascotte Github devant la page Web de Github.

Lier une clé SSH à Github est l'une des étapes clés pour sécuriser votre compte. Il vous permet d'exploiter la puissance de la cryptographie à clé publique pour protéger vos référentiels Git. Cet article vous montrera ce que sont les clés SSH et comment vous pouvez les utiliser pour renforcer votre compte Github.

Contenu

  • Que sont les clés SSH ?
  • Générer des clés SSH pour Github
  • Ajout de clés SSH à Github
  • Gestion des clés SSH
  • Modification des clés SSH existantes
  • Suppression des clés SSH de Github

Note: nouveau sur Git? Apprendre notre guide de démarrage maintenant.

Que sont les clés SSH ?

En résumé, les clés SSH sont des clés publiques que vous stockez sur un serveur distant. Ceux-ci agissent comme un proxy d'authentification qui vous permet de vous connecter et d'interagir avec des machines sans fournir de nom d'utilisateur ni de mot de passe.

Un terminal affichant un exemple de clé publique SSH.

La façon dont cela fonctionne est que chaque fois que vous vous connectez à une machine via SSH, votre ordinateur local envoie un message signé par votre clé SSH privée. La machine distante utilise ensuite votre clé publique SSH pour vérifier l’authenticité du message et vous connecter.

Github utilise la même approche pour vérifier votre identité sur ses serveurs. Le site Web utilise votre clé publique chaque fois que vous téléchargez et modifiez votre référentiel. Cela garantit que vous n'exposez pas vos informations d'identification Github lorsque vous envoyez des validations.

Bon à savoir: Apprenez-en davantage sur la cryptographie à clé publique et sur la façon dont elle peut sécuriser votre identité en ligne en installer GNU Kleopatra sous Linux.

Générer des clés SSH pour Github

Pour commencer, ouvrez une nouvelle session de terminal à l'aide du lanceur d'applications de votre distribution.

Assurez-vous que vous avez installé OpenSSH sur votre ordinateur et que le démon de l'agent SSH est actuellement en cours d'exécution :

sudoaptinstallssheval`ssh-agent -s`

Exécutez la commande suivante pour démarrer le Génération de clé SSH magicien:

ssh-keygen-t ed25519 -C"[email protected]"

L'assistant vous demandera alors si vous souhaitez utiliser un nom de fichier de clé SSH personnalisé pour votre clé. Presse Entrer pour accepter le nom et l'emplacement par défaut.

Un terminal affichant l'invite d'emplacement du fichier pour une nouvelle clé SSH.

Tapez un mot de passe pour votre nouvelle clé SSH. Cela servira de phrase secrète de votre machine locale chaque fois qu’elle se connectera à votre compte Github.

Un terminal affichant l'invite de mot de passe pour une nouvelle clé SSH.

Note: Vous pouvez également laisser l'invite de mot de passe vide si vous souhaitez créer une clé SSH sans mot de passe.

Ajoutez votre clé SSH nouvellement générée à votre agent SSH en cours d'exécution :

ssh-add ~/.ssh/id_ed25519

Bon à savoir: si vous êtes nouveau sur Github, renseignez-vous certaines des meilleures applications que vous devriez ajouter à votre référentiel Github.

Ajout de clés SSH à Github

Une fois votre nouvelle clé SSH opérationnelle, vous pouvez désormais lier votre machine locale à votre compte Github. Pour commencer, exécutez la commande suivante pour imprimer votre clé publique SSH :

cat ~/.ssh/id_ed25519.pub

Mettez en surbrillance votre clé publique SSH, appuyez sur Clic droit puis sélectionnez « Copier ».

Un terminal affichant l’option Copier dans son invite de menu contextuel.

Ouvrez une nouvelle session de navigateur, puis accédez à votre page d'accueil Github.

Cliquez sur l'icône de votre profil dans le coin supérieur droit de la page.

Une capture d'écran de la page d'accueil par défaut de Github.

Cliquez sur « Paramètres » dans la liste déroulante.

Une capture d'écran mettant en évidence l'option Paramètres dans le menu du profil Github.

Sélectionnez « Clés SSH et GPG » dans la barre latérale gauche de la page des paramètres.

Une capture d'écran mettant en évidence l'option des clés SSH et GPG dans le menu des paramètres de Github.

Cliquez sur le bouton « Nouvelle clé SSH » à côté de l'en-tête « Clés SSH ».

Une capture d'écran mettant en évidence le bouton Nouvelle clé SSH dans la page des clés SSH et GPG.

Sélectionnez la zone de texte « Titre », puis indiquez un nom pour votre clé.

Cliquez sur la zone de texte « Clé », puis appuyez sur Ctrl + V pour coller votre clé SSH.

Cliquez sur « Ajouter une clé SSH » pour valider vos nouveaux paramètres.

Accès sécurisé à Github Clé Ssh 09 Ajouter un bouton de clé Ssh

Ouvrez une nouvelle session de terminal et exécutez la commande suivante :

ssh-Tgit@github.com

Tapez « oui », puis appuyez sur Entrer.

Un terminal mettant en évidence l'invite pour faire confiance à l'empreinte digitale SSH.

Cela démarrera une nouvelle session SSH sur l’un des serveurs de réception de Github. Si votre clé fonctionne correctement, un court message apparaîtra accusant réception de votre connexion SSH.

Un terminal mettant en évidence le court message d'accusé de réception de Github.

Gestion des clés SSH

Bien qu'une seule clé SSH soit suffisante pour la plupart des utilisateurs, il existe des cas où vous devez synchroniser un référentiel Git hébergé sur plusieurs machines. Pour ce faire, vous devez importer des clés SSH spécifiques à la machine.

Ouvrez une nouvelle session de terminal sur l'ordinateur que vous souhaitez lier à Github.

Assurez-vous que le démon OpenSSH est à la fois installé et en cours d'exécution sur le système :

sudoaptinstallssheval`ssh-agent -s`

Exécutez la commande suivante pour créer une clé SSH distincte pour votre nouvelle machine :

ssh-keygen-t ed25519 -f ~/.ssh/id-ed25519-pc2 -C"[email protected]"

Saisissez une phrase secrète sécurisée pour votre nouvelle clé SSH, puis appuyez sur Entrer.

Ajoutez votre nouvelle clé alternative à votre agent SSH :

ssh-add ~/.ssh/id-ed25519-pc2

Imprimez le contenu de votre clé publique SSH, puis copiez-le dans le presse-papier de votre système :

cat ~/.ssh/id-ed-25519-pc2

Revenez à la page « Clés SSH et GPG » de votre compte Github.

Cliquez à nouveau sur le bouton « Nouvelle clé SSH ».

Fournissez une étiquette unique pour votre nouvelle clé, puis collez le contenu de votre presse-papiers sous la zone de texte « Clé ».

Une capture d'écran montrant une nouvelle clé alternative dans Github.

Cliquez sur « Ajouter une clé SSH » pour appliquer vos nouveaux paramètres.

Testez si votre nouvelle machine utilise votre clé sécurisée pour vous connecter à Github en vous connectant via SSH :

ssh-Tgit@github.com

Modification des clés SSH existantes

En plus d'envoyer des clés nouvellement générées à Github, vous pouvez également modifier les clés SSH existantes que vous avez déjà sur votre machine. Cela peut être utile si vous êtes déjà utiliser les clés SSH comme connexion sans mot de passe sous Linux.

Pour modifier une clé existante, accédez au répertoire « .ssh » de votre machine :

cd ~/.ssh

Courir ssh-keygen avec le -p, -o et -f drapeaux avec votre clé SSH. Cela vous permettra de changer le mot de passe sur une clé privée existante :

ssh-keygen-p-o-f ./id-ed25519

Note: Vous pouvez également utiliser ces indicateurs pour convertir une clé SSH standard en une clé sans mot de passe.

Vous pouvez également modifier l'adresse e-mail intégrée à votre clé publique en utilisant le -c drapeau:

ssh-keygen-c-C"[email protected]"-f ./id-ed25519

Rechargez votre agent SSH avec votre clé nouvellement mise à jour :

ssh-add ~/.ssh/id-ed25519

Remplacez la clé publique SSH correspondante de votre profil Github.

Une capture d'écran montrant la clé SSH nouvellement modifiée dans Github.

Suppression des clés SSH de Github

Ouvrez une nouvelle session de terminal, puis démarrez le démon de l'agent SSH :

eval`ssh-agent -s`

Exécutez la commande suivante pour supprimer la clé privée SSH dans votre machine :

ssh-add-d ~/.ssh/id-ed25519

Revenez à la catégorie « Clés SSH et GPG » de votre compte Github.

Faites défiler la liste des clés SSH sur cette page, puis cliquez sur « Supprimer » sur celle que vous souhaitez supprimer.

Une capture d'écran mettant en évidence le bouton Supprimer de la clé SSH nouvellement modifiée.

Cliquez sur « Je comprends, supprimez cette clé SSH ».

Une capture d'écran mettant en évidence l'invite de confirmation finale pour la suppression d'une clé SSH.

Assurez-vous que votre ancienne clé SSH est désormais obsolète en démarrant une session SSH sur l'un des serveurs de Github :

ssh-Tssh@github.com

Lier une clé SSH pour sécuriser votre compte Github n'est que la première étape pour comprendre le fonctionnement de la cryptographie et du cryptage à clé publique. Apprenez-en davantage sur le chiffrement des données au repos en créant un sauvegarde cloud cryptée à l'aide de Rclone.

En attendant, vous pouvez également en savoir plus sur la gestion automatique des référentiels en utiliser les hooks Git.

Crédit image: Roman Synkevych via Unsplash. Toutes les modifications et captures d'écran par Ramces Red.

Abonnez-vous à notre newsletter!

Nos derniers tutoriels livrés directement dans votre boîte de réception

Sudo vs Su [Linux] (MTE explique)
Sudo vs Su [Linux] (MTE explique)

Si vous avez déjà essayé la ligne de commande sous Linux (qui ne le fait pas ?), vous êtes sûr de...

Comment surveiller vos performances Linux avec Sysstat
Comment surveiller vos performances Linux avec Sysstat

Sysstat est un puissant outil de journalisation et de surveillance pour les systèmes Linux/Unix. ...

Soyez un expert Gimp avec AdaptableGimp
Soyez un expert Gimp avec AdaptableGimp

Gimp est l'un des éditeurs d'images open source les plus complets. Il est souvent présenté comme ...