×

Blog

Accéder en SSH à vos dépôts Git distants (GitHub)

Je vais vous montrer comment configurer les accès SSH vers vos dépôts Git distants, comme par exemple GitHub, pour sécuriser et simplifier vos échanges.

Fonctionnement su protocole SSH

Secure Shell (SSH) est à la fois un programme informatique et un protocole de communication sécurisé. Le protocole de connexion impose un échange de clés de chiffrement en début de connexion. Par la suite, tous les segments TCP sont authentifiés et chiffrés.
 
communication SSH
 

Génération des clés SSH

Il faut alors générer une paire de clé SSH via la commande:
 
./ssh-keygen
 
 
ssh-keygen
 
A ce moment là, deux clés vont êtres générés dans votre dossier ‘home’ par défaut:
 
  • Linux: /home/[user]/.ssh
  • Windows: C:\Utilisateurs\[user]\.ssh

Attention: Le dossier ssh est un dossier caché

 

On retrouve alors dans le dossier .ssh les fichiers suivants:

  • id_rsa: clé privé a conserver sur son PC et à ne surtout pas partager
  • id_rsa.pub: clé publique à envoyer sur les machines avec lesquels vous voulez communiquer en SSH
Info: Vous pouvez ne pas indiquez de mot de passe et ainsi avoir une communication SSH qui sera tout de même sécurisé. L’intérêt ici, c’est que vous n’aurez pas à écrire ce mot de passe lors d’un git clone ou git pull/push. 
 

Mise en place du SSH sur GitHub

Pour commencer, il faut copier le contenu de la clé SSH publique. Pour cela, il faut se rendre dans le dossier ou ssh-keygen à généré les clés. Puis, éditez le fichier id_rsa.pub et enfin copier l’intégralité de son contenu.

clés ssh

 

Vous pouvez alors vous rendre dans les settings de votre compte sur le site de GitHub .

settings ssh github

Rendez-vous dans l’onglet SSH and GPG keys, puis cliquer sur le bouton “new SSH key”. 

Il faut alors simplement coller le contenu du fichier id_rsa.pub que l’on a copier depuis notre PC, puis valider.

 

Cloner le dépôt en SSH

Maintenant que votre communication SSH est en place, vous pouvez la tester en clonant un dépôt. Dans  les options du bouton “clone or download” choisir “use SSH” puis copier l’url du dépôt.

cloner un dépôt git en ssh

 Il ne vous reste plus qu’a taper, dans le terminal, la commande:

git clone [url_ssh]

Vous pouvez également changer le protocole que vous utilisez sur un dépôt déjà cloné et ainsi passer de https à ssh et inversement. Pour cela, on utilise la commande git remote:

cd dépôt
git remote set-url origin [URL_SSH OU URL_HTTPS]

 

Aller plus loin

Si vous souhaitez en apprend un peu plus sur Git et GitHub je vous recommande: