Extrait d'une config client ssh pour un admin gitolite

[lienbillet seul]


tl;dr: l'option Hostname dans la config client ssh est bien pratique quand on a plusieurs clef secrète pour le même utilisateur sur le serveur distant.
Salut totu le monde,

Ça me servira de pense-bête et j'espère que ça aidera quelqu'un dans le futur.
Voici le soucis: vous venez d'installer gitolite et cgit sur votre serveur web mais il faut jongler avec les clefs secrètes pour soit:

Un moyen que j'ai appris est la l'option Hostname dans les blocs Hosts de votre config ssh client (~/.ssh/config pour rappel). J'ai quelque chose qui ressemble à ça de mon côté:

Host admin_gitolite
    Hostname git.nomdedomaine.com
    IdentityFile ~/.ssh/admin_gitolite
    User gitolite

Host utilisateur_gitolite
    Hostname git.nomdedomaine.com
    IdentityFile ~/.ssh/utilisateur_gitolite
    User gitolite

Host serveurweb
    Hostname git.nomdedomaine.com
    IdentityFile ~/.ssh/serveurweb
    User utilnormal

Donc si vous renommer l'URL de rapatriement de votre répertoire d'administration de gitolite en ssh://admin_gitolite:/gitolite-admin, ssh le comprendra et demandera le mot de passe pour la clé secrète ~/.ssh/admin_gitolite lors du push. C'est le même principe pour utilisateur_gitolite sauf que le mot de passe pour la clé secrète ~/.ssh/utilisateur_gitolite sera demandée.
Enfin, exécuter ssh serveurweb permettra d'accéder tout simplement à l'interpréteur de commande de l'utilisateur utilnormal sur la machine avec le nom d'hôte git.nomdedomaine.com.

C'est tout ce que j'ai à dire, bonnes fêtes et bon Noël à vous tous ! 🎄🎄🎄