SSH (Secure Shell) est un protocole utilisé pour se connecter de manière sécurisée à des systèmes distants. Il est souvent utilisé pour la ligne de commande à distance, mais il peut également être utilisé pour transférer des fichiers, créer des tunnels sécurisés, etc.
Un usage courant de SSH est la connexion aux dépôts Git. En utilisant l'authentification SSH pour vos dépôts Git, vous pouvez éviter de saisir votre nom d'utilisateur et votre mot de passe chaque fois que vous poussez ou tirez des modifications. Dans cet article, nous allons vous montrer comment configurer l'authentification SSH pour Git.
Prérequis
Avant de commencer, vous aurez besoin de :
- Un client Git installé sur votre machine locale
- Un compte sur un service d'hébergement Git, tel que GitHub, GitLab ou Bitbucket
Génération d'une clé SSH
Pour utiliser l'authentification SSH, vous devrez générer une clé SSH sur votre machine locale. Cette clé est une chaîne unique de caractères qui vous identifie auprès du service d'hébergement Git.
Pour générer une clé SSH dans Git, ouvrez une fenêtre de terminal et entrez la commande suivante :
ssh-keygen -t rsa -b 8192 -C "votre_email@exemple.com"
Remplacez votre_email@exemple.com
par votre adresse e-mail. Cela générera une paire de clés RSA avec une clé privée de 4096 bits et une clé publique correspondante.
Vous serez invité à entrer un fichier dans lequel enregistrer la clé. Par défaut, la clé est enregistrée dans ~/.ssh/id_rsa
, mais vous pouvez choisir un emplacement différent si vous préférez.
Ensuite, vous serez invité à entrer une phrase de passe. Cette phrase de passe est utilisée pour sécuriser votre clé privée et garantir que seul vous pouvez l'utiliser. Assurez-vous de choisir une phrase de passe forte et unique.
Une fois la clé générée, vous pouvez afficher la clé publique en entrant la commande suivante :
cat ~/.ssh/id_rsa.pub
Cela affichera la clé publique, qui ressemblera à ceci :
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4GK8RdRw+...
Ajout de la clé publique à votre service d'hébergement Git
Maintenant que vous avez généré une clé SSH, vous devez ajouter la clé publique à votre service d'hébergement Git. Cela permettra au service de vous reconnaître lorsque vous vous connecterez via SSH.
Pour ajouter la clé publique à votre service d'hébergement Git, suivez ces étapes :
- Connectez-vous à votre compte sur le service d'hébergement Git.
- Accédez à la page de paramètres des clés SSH.
- Sur GitHub, allez dans
Settings > SSH and GPG keys
. - Sur GitLab, allez dans
Settings > SSH Keys
. - Sur Bitbucket, allez dans
Manage account > SSH keys
.
- Sur GitHub, allez dans
- Cliquez sur le bouton
Add SSH key
. - Entrez un libellé pour la clé (par exemple,
Mon ordinateur portable
). - Collez la clé publique dans le champ
Key
. Vous pouvez utiliser la commande cat précédemment mentionnée pour afficher la clé publique et la copier dans votre presse-papiers. - Cliquez sur le bouton
Add key
.
Test de la connexion SSH
Maintenant que vous avez ajouté votre clé publique à votre service d'hébergement Git, vous pouvez tester la connexion SSH.
Pour tester la connexion, entrez la commande suivante dans un terminal :
ssh -T git@<hostname>
Remplacez <hostname>
par le nom d'hôte de votre service d'hébergement Git (par exemple, github.com pour GitHub).
Si la connexion est réussie, vous verrez un message similaire à celui-ci :
Hi username! You've successfully authenticated, but GitHub does not provide shell access.
Si la connexion n'est pas réussie, vous pourriez voir un message d'erreur ou être invité à entrer votre nom d'utilisateur et votre mot de passe. Dans ce cas, vérifiez que vous avez correctement ajouté votre clé publique à votre service d'hébergement Git et que votre clé privée est située au bon emplacement de fichier.
Configuration de Git pour utiliser SSH
Maintenant que vous avez configuré l'authentification SSH, vous devez configurer Git pour l'utiliser.
Pour configurer Git pour utiliser SSH, ouvrez une fenêtre de terminal et entrez la commande suivante :
git config --global url."ssh://git@<hostname>/".insteadOf "https://<hostname>/"
Remplacez <hostname>
par le nom d'hôte de votre service d'hébergement Git (par exemple, github.com pour GitHub). Cette commande indique à Git d'utiliser SSH pour toutes les URL de dépôt qui correspondent au modèle spécifié.
Utilisation de SSH avec Git
Maintenant que vous avez configuré Git pour utiliser SSH, vous pouvez utiliser SSH pour cloner, pousser et tirer vos dépôts Git.
Pour cloner un dépôt en utilisant SSH, utilisez la commande git clone
et spécifiez l'URL SSH du dépôt :
git clone ssh://git@<hostname>/<username>/<repository>.git
Remplacez <hostname>
par le nom d'hôte de votre service d'hébergement Git, <username>
par votre nom d'utilisateur sur le service et <repository>
par le nom du dépôt que vous souhaitez cloner.
Pour pousser des modifications vers un dépôt en utilisant SSH, utilisez la commande git push
comme d'habitude. Git utilisera automatiquement la connexion SSH.
Pour tirer des modifications à partir d'un dépôt en utilisant SSH, utilisez la commande git pull
comme d'habitude. Git utilisera également automatiquement la connexion SSH.
Conclusion
Dans cet article, nous vous avons montré comment configurer l'authentification SSH pour Git. En utilisant SSH, vous pouvez éviter de saisir votre nom d'utilisateur et votre mot de passe chaque fois que vous poussez ou tirez des modifications de vos dépôts Git. La configuration de l'authentification SSH est simple et offre une couche supplémentaire de sécurité pour vos flux de travail Git.
Top comments (0)