Si vous êtes comme moi, et que vous utilisez plusieurs clés SSH différentes sur le même ordinateur, il est utile de pouvoir préciser celle que vous voulez utiliser selon le serveur sur lequel vous voulez vous connecter.
Par exemple, dans mon cas, j’aime bien utiliser une paire de clés SSH pour le boulot et donc tout ce qui est strictement professionnel et une autre paire de clé SSH pour me connecter sur mes serveurs personnels. J’ai même certaines clés qui ne servent que sur un seul serveur à la fois avec un mot de passe très fort, je me connecte très rarement dessus et cela permet d’avoir une grande sécurité.
Je ne sais pas si c’est une grande garantie de sécurité supplémentaire, mais en tout cas si j’ai une clé SSH qui se retrouve compromise d’une manière ou d’une autre, je sais que l’attaquant ne pourra pas se connecter sur l’ensemble de mes serveurs avec cette unique clé ce qui est plutôt rassurant. Bien évidemment, toutes mes clés SSH ont un mot de passe ce qui est pour moi la base.
Bon, maintenant que nous avons introduit cette notion d’avoir plusieurs clés, voyons voir comment utiliser le paramètre qui permet de forcer l’usage d’une clé pour se connecter à un serveur en SSH.
Comment préciser la clé SSH à utiliser avec le paramètre -i ?
Si vous vous avez déjà fait un peu de SSH pour vous connecter à des serveurs avec une clé, normalement cette commande devrait vous parler :
ssh zonetuto@1.2.3.4
Je précise que je n’ai testé que sur Linux Kubuntu et sur macOS. Cela fonctionne à merveille aucun souci. Par contre, je n’ai pas testé sur Windows même si je pense que cela fonctionne aussi il n’y a pas de raison. Par convention, toutes les paires de clés SSH sont rangées dans le dossier suivant sur Linux et macOS :
~/.ssh
Maintenant voici la commande que vous attendez tous et comment utiliser correctement le paramètre -i pour préciser la clé SSH à utiliser pour vous connecter à votre serveur de maniéré sécurisée :
ssh -i ~/.ssh/pro zonetuto@1.2.3.4
À titre d’exemple, voici comment je fais pour me connecter sur mes serveurs personnels avec une autre clé SSH :
ssh -i ~/.ssh/perso zonetuto@4.3.2.1
Vraiment très simple, non ? Pourtant très peu de personnes connaissent cette astuce et c’est pour cela que je souhaitais vous la partager. J’espère que ce tutoriel pour utiliser plusieurs clés SSH différentes sur la même machine aidera de nombreuses personnes. Si vous avez des astuces complémentaires à partager, n’hésitez pas à le dire dans les commentaires de cet article, cela pourrait aider encore plus de personnes.
Il est plus pratique de configurer aux petits oignons son ~/.ssh/config : plus besoin de préciser d’options du tout (utilisateur, port, etc), tout est dans le fichier de configuration.
Et on peut utiliser un alias plus court :
ssh pc
Bonjour,
Note que cela peut aussi se configurer dans le .ssh/config.