Si vous êtes comme moi et que vous utilisez plusieurs comptes GitHub, Gitlab ou autres, vous avez dut avoir le problème de ne pouvoir renseigner qu'une seule clé SSH par compte.
Sur Gitlab, par exemple, il n'est pas possible d'avoir la même clé SSH pour deux comptes différents (et c'est plutot normal!).

Pour palier à ceci, j'ai trouvé Keychain qui permet de charger plusieurs clés SSH et de gérer l'utilisation de celle ci en fonction du Host, du ...
Le programme keychain permet de réutiliser une instance de ssh-agent dans des sessions différentes avec des clés SSH différentes.

Du coup, comme bien souvent, je rédige un mini tutorial que je publie sur mon blog, pour ne pas oublier et partager avec qui veut.

Voici les étapes que nous allons suivre.

Etape 1: Création des clés SSH

On va générer plusieurs clés SSH qui vont être renseignées sur nos différents comptes Git et autres.

$ ssh-keygen -t rsa -f ~/.ssh/personal.key -C "personal"
$ ssh-keygen -t rsa -f ~/.ssh/work.key -C "work"

Etape 2: Installation de Keychain

Ensuite, pour installer Keychain, on va utiliser les dépôts classique:

Pour Debian:

sudo apt-get install keychain  

Pour Gentoo:

emerge keychain  

Pour Archlinux:

yaourt -Sy keychain  

Etape 3: Modification de votre fichier .bashrc

Et pour rendre tout ça automatique, ajoutons ceci dans notre fichier $HOME/.bashrc

for i in `ls -a $HOME/.ssh/*.key`  
do  
    keychain $i &> /dev/null
done  
source $HOME/.keychain/$HOSTNAME-sh  

Voilà, tout est bon. Quand vous ouvrirez un nouveau terminal, les clés SSH seront chargés automatiquement.