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

Sécurisez votre compte GitHub en liant une clé SSH et en utilisant la cryptographie à clé publique pour protéger vos référentiels Git. Découvrez comment dans cet article.

Le lien d’une clé SSH à Github est l'une des étapes clés pour sécuriser votre compte. Cela vous permet d'utiliser 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 les utiliser pour renforcer la sécurité de votre compte Github.

Qu'est-ce que les clés SSH?

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

Le fonctionnement est le suivant: 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é SSH publique pour vérifier l'authenticité du message et vous connecter.

Github utilise la même approche pour vérifier votre identité à l'intérieur de ses serveurs. Le site web utilise votre clé publique lorsque vous téléchargez et modifiez votre référentiel. Cela garantit que vous n'exposez pas vos identifiants Github lorsque vous poussez des commits.

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

Pour commencer, ouvrez une nouvelle session de terminal en utilisant le lanceur d'applications de votre distribution.

[enlazatom_show_links]

Vérifiez que vous avez installé OpenSSH sur votre machine et que le démon SSH est en cours d'exécution:

sudo apt install ssh eval `ssh-agent -s`

Exécutez la commande suivante pour démarrer l'assistant de génération de clés SSH:

ssh-keygen -t ed25519 -C "votremail@exemple.com"

L'assistant vous demandera si vous souhaitez utiliser un nom de fichier de clé SSH personnalisé pour votre clé. Appuyez sur Entrée pour accepter le nom et l'emplacement par défaut.

Saisissez un mot de passe pour votre nouvelle clé SSH. Cela servira de phrase secrète pour la machine locale lorsqu'elle se connectera à votre compte Github.

Remarque: vous pouvez également laisser le champ du mot de passe vide si vous voulez créer une clé SSH sans mot de passe.

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

ssh-add ~/.ssh/id_ed25519

Ajouter des clés SSH à Github

Avec 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 afficher votre clé publique SSH:

cat ~/.ssh/id_ed25519.pub
  • Surlignez votre clé publique SSH, faites un clic droit, puis sélectionnez "Copier".
  • Ouvrez une nouvelle session de navigateur, puis accédez à votre page d'accueil Github.
  • Cliquez sur votre icône de profil en haut à droite de la page.
  • Cliquez sur "Paramètres" dans la liste déroulante.
  • Sélectionnez "Clés SSH et GPG" dans la barre latérale gauche de la page des paramètres.
  • Cliquez sur le bouton "Nouvelle clé SSH" à côté de l'en-tête "Clés SSH".
  • Sélectionnez la zone de texte "Titre", puis donnez un nom à 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 enregistrer vos nouveaux paramètres.

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

ssh -T git@github.com
  • Tapez "yes", puis appuyez sur Entrée.

Cela démarrera une nouvelle session SSH vers l'un des serveurs de réception de Github. Si votre clé fonctionne correctement, cela imprimera un court message reconnaissant votre connexion SSH.

Gérer les clés SSH

Alors qu'une seule clé SSH suffit pour la plupart des utilisateurs, il arrive parfois que vous ayez besoin de synchroniser un référentiel Git hébergé sur plusieurs machines. Pour ce faire, vous devez importer des clés SSH spécifiques à chaque machine.

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

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

sudo apt install ssh eval `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 "votremail@exemple.com"

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

Ajoutez votre nouvelle clé alternative à votre agent SSH:

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

Affichez le contenu de votre clé publique SSH, puis copiez-la dans le presse-papiers de votre système:

cat ~/.ssh/id-ed25519-pc2.pub

Retournez sur la page "Clés SSH et GPG" de votre compte Github.

  • Cliquez à nouveau sur le bouton "Nouvelle clé SSH".
  • Donnez un label unique à votre nouvelle clé, puis collez le contenu de votre presse-papiers dans la zone de texte "Clé".
  • Cliquez sur "Ajouter une clé SSH" pour appliquer vos nouveaux paramètres.
  • Vérifiez si votre nouvelle machine utilise votre clé sécurisée pour se connecter à Github en vous connectant via SSH:
ssh -T git@github.com

Modification de 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 utilisez déjà des clés SSH pour une connexion sans mot de passe sous Linux.

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

cd ~/.ssh

Exécutez la commande ssh-keygen avec les indicateurs -p, -o et -f ainsi que votre clé SSH. Cela vous permettra de changer le mot de passe d'une clé privée existante:

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

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

Vous pouvez également changer l'adresse e-mail intégrée dans votre clé publique en utilisant l'indicateur -c:

ssh-keygen -c -C "ramces@new-email.invalid" -f ./id-ed25519

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

ssh-add ~/.ssh/id-ed25519

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

Suppression des clés SSH de Github

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

eval `ssh-agent -s`

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

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

Retournez dans la section "Clés SSH et GPG" de votre compte Github.

Passez en revue la liste des clés SSH sur cette page, puis cliquez sur "Supprimer" pour celle que vous souhaitez supprimer.

Cliquez sur "Je comprends, supprimer cette clé SSH".

Assurez-vous que votre ancienne clé SSH est désormais inutilisable en démarrant une session SSH vers l'un des serveurs Github:

ssh -T ssh@github.com

Lier une clé SSH pour sécuriser votre compte Github n'est que la première étape pour comprendre comment fonctionnent la cryptographie à clé publique et le chiffrement. Apprenez-en davantage sur le chiffrement des données au repos en créant une sauvegarde cloud chiffrée avec Rclone.

En attendant, vous pouvez également en savoir plus sur la gestion automatique des dépôts en utilisant les hooks Git.

Index
  1. Qu'est-ce que les clés SSH?
  2. Générer des clés SSH pour Github
  3. Ajouter des clés SSH à Github
  4. Gérer les clés SSH
  5. Modification de clés SSH existantes
  6. Suppression des clés SSH de Github

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Go up