Linux : comment éviter d’entrer sa passphrase à chaque utilisation d’une clé SSH ?

Linux : comment éviter d’entrer sa passphrase à chaque utilisation d’une clé SSH ?

I. Présentation

Pour s’authentifier et se connecter de manière sécurisée à un service ou un serveur, on a 2 possibilités sous Linux : le classique (et désuet) login / mot de passe, ou la clé SSH, protégée par une passphrase.

Plus besoin de se souvenir de 36 mots de passe différents : une clé SSH et c’est parti.

Oui, mais voilà : Quand on est amené à se connecter plusieurs fois par jour à des serveurs via SSH, ou qu’on effectue des rafraîchissements de son repository Git à partir du serveur, la passphrase nous sera demandée, systématiquement, à chaque nouvelle connexion.

Ce qui peut être vraiment lourd au bout de la cinquantième fois.

J’ai une astuce pour vous : vous connaissez Keepass ? Et bien on va reprendre le même principe : on va stocker de manière sécurisée la clé SSH ainsi que la passphrase dans un coffre sécurisé.

Ainsi, plus besoin de taper 50 fois votre passphrase chaque jour, vous ne la saisirez plus qu’une seule fois, au démarrage de votre système Linux. Et la magie fera le reste ! ?

II. Prérequis

III. Vérifier la présence de la clé SSH

Pour commencer, on va vérifier que votre clé SSH est bien présente sur votre système Linux.

Pour cela, ouvrez un terminal, et tapez la commande :

ls -al ~/.ssh

Vous devriez voir apparaître plusieurs fichiers, celui qui nous intéresse étant id_rsa.

Note : ~ correspond au chemin de votre profil sous Linux, dans mon cas, il s’agit de : /home/thibault, comme on peut le voir sur la capture d’écran ci-dessus.

Avant d’installer et de configurer Keychain, une dernière chose à vérifier : votre clé SSH est une clé privée. Mais on va tout de même s’en assurer du côté des permissions de Linux :

On peut voir dans mon cas que ma clé privée (le fichier id_rsa) n’est pas vraiment privée. On va changer ça de suite, pour éviter des messages d’erreur de nos applications préférées :

sudo chmod 600 ~/.ssh/id_rsa

Note : Si vous n’êtes pas propriétaire des fichiers se trouvant dans votre dossier .ssh, il faudra vous réattribuer la propriété, sinon vous aurez des difficultés pour lire les fichiers.

Dans mon cas, mon nom d’utilisateur étant « thibault », cela donne :

sudo chown thibault:thibault ~/.ssh/id_rsa

On vient d’accorder des droits en lecture / écriture uniquement au propriétaire du fichier, et à personne d’autre. On ne peut pas faire plus privé. ?

IV. Installer et configurer Keychain pour sauvegarder automatiquement la passphrase

Ceux qui me connaissent savent que j’utilise Git pour le versioning de la totalité de mes scripts et des configurations serveurs / logiciels.

Et pour l’exemple, j’ai effectué un git clone, pour copier le contenu d’un répertoire distant (un repository) sur un répertoire local de mon poste. L’authentification s’effectue via ma clé SSH, et forcément, Git me demande de confirmer ma passphrase avant de lancer les actions.

Le truc particulièrement énervant, et notamment quand notre passphrase fait plus de 25 caractères, c’est que si je réexécute la même commande quelques secondes plus tard, je vais devoir à nouveau renseigner la passphrase.

Plutôt fastidieux, notamment lorsqu’on est dans mon cas et qu’on doit la renseigner plus de 50 fois par jour…

Pour éviter de taper encore et encore la même passphrase à chaque fois que l’on fait appel à notre clé SSH, on va s’installer Keychain, puis le configurer.

Pour l’installation, on reste sur du classique de chez classique :

sudo apt install -y keychain

Linux keychain ssh

Note : le -y indique de répondre « Oui » à la question : Êtes-vous sûr de vouloir continuer ? Une option particulièrement utile pour l’automatisation.

Pour vérifier que Keychain est bien installé sur votre système, tapez :

keychain --version

Il vous reste maintenant à modifier votre profil pour ajouter la configuration de keychain. Pour cela, ouvrez le fichier ~/.bashrc dans votre éditeur de texte préféré. Dans mon cas, j’utilise vim, mais libre à vous de passer sur d’autres éditeurs :

vim ~/.bashrc

Et ajoutez la ligne suivante à la fin du fichier :

eval `keychain --eval --agents ssh id_rsa

À chaque fois que vous rebooterez votre serveur ou que vous démarrerez, un nouveau terminal, keychain s’exécutera.

À la première exécution suite à un reboot, keychain reconnaîtra votre clé SSH et vous demandera de saisir la passphrase :

Par la suite, à chaque nouveau terminal créé, keychain vous avertira qu’il a déjà en stock la clé SSH ainsi que la passphrase. Plus besoin de la taper du coup, keychain s’en chargera à votre place à chaque fois que le système en aura besoin pour se connecter à une ressource distante.

V. Conclusion

Comment s’en assurer ? Dans mon cas, je crée un nouveau répertoire de test et je relance la copie de mon repository Git avec la commande :

git clone

Et pouf ! Par magie, ça se fait, sans action de ma part : plus besoin de taper ma passphrase tout au long de la journée. Je la saisis le matin en arrivant et c’est réglé.

Sacré gain de temps, n’est-ce pas ?

Hébergez votre site à partir de 2$ sur 👉👉👉 https://www.tnctech.ca

À propos Santana

Analyste en cybersécurité avec 5 ans d'expérience dans la protection des systèmes d'information contre les menaces et les attaques. Expertise dans la surveillance des réseaux, l'analyse des vulnérabilités, et la gestion des incidents de sécurité. Passionnée par l'innovation technologique et la mise en œuvre de solutions de sécurité robustes pour protéger les données sensibles et assurer la conformité réglementaire.

Vérifiez également

Comment durcir la configuration de son serveur SSH ?

Comment durcir la configuration de son serveur SSH ?

Table de Matieres1 I. Présentation2 II. Sécurisation générale de SSH2.1 A. Modifier le port et …

Linux : configuration d’un espace de stockage sécurisé avec SFTP

Linux : configuration d’un espace de stockage sécurisé avec SFTP

Table de Matieres1 I. Présentation2 II. Préparation du serveur2.1 A. Configuration du réseau2.2 B. Vérification …

Utilisation des montages SSHFS sécurisés sur GNU/Linux

Utilisation des montages SSHFS sécurisés sur GNU/Linux

Table de Matieres1 I. Présentation2 II. Installation de SSHFS3 III. Utilisation de SSHFS4 IV. Conclusion …

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.