Git et clef SSH

, par  Genma , popularité : 2%

Ce billet ne sera pas un billet sur l’état de l’art de créer sa clef SSH. Je pars du principe que vous en avez déjà une.

Les dépôts en ligne Git (Github, Framagit, qui est basé sur Gitlab ou un dépôt Gitlab autohébergé) propose comme fonctionnalité intéressante celle de pouvoir uploader une clef publique ssh sur le serveur (la clef publique, pas la clef privée. Surtout pas la clef privée) de la même façon que l’on peut le faire pour un serveur sur lequel on se connecte en ssh. Le serveur git étant lui-même un serveur, il dispose aussi d’un serveur ssh.

L’association d’une clef publique à un compte utilisateur (le même compte que le compte Git) a pour avantage qu’ensuite, on peut faire les connexions avec le serveur git en ssh, récupérer des fichiers ou les pousser au sein de ce tunnel ssh... Dès que l’on fera une commande en interaction avec git, on n’aura qu’à taper une fois sa phrase de passe de sa clef SSH pour être authentifiée pour tout le reste des manipulations. Un autre intérêt et qu’on utilise la phrase de passe de la clef SSH et non le mot de passe (comme dans le cas d’une connexion https).

Comment ça se passe ?

Pour définir le dépôt distant, on fera comme commande

git remote add git@framagit.org:genma/My_repository.git

au lieu de

git remote add https://framagit.org/genma/My_repository.git)

Pour que les connexions aux serveurs pour git se fasse via le protocole SSH et non plus via le protocole HTTP.

Enfin, toujours sur Git et les astuces, il y a la possibilité de signer ses commit avec sa clef GPG, et pour ce, je vous renvoie au tutorielhttps://git-scm.com/book/fr/v2/Utilitaires-Git-Signer-votre-travail.