Introduction
Les clés SSH sont des identifiants qui permettent aux utilisateurs d’accéder à des serveurs distants de manière sécurisée. Lorsque vous utilisez des clés SSH, il est important de les protéger par un mot de passe fort pour éviter tout accès non autorisé. Cependant, il peut être fastidieux de saisir le mot de passe de chaque clé SSH à chaque connexion à un serveur distant. Heureusement, il est possible d’ajouter vos clés SSH à KWallet, le gestionnaire de mots de passe de KDE, afin de les stocker en toute sécurité et de ne plus avoir à saisir le mot de passe à chaque fois.
Mise en place
1. Installer ksshaskpass
Vérifiez que ksshaskpass est installé sur votre système. C’est le programme qui fait le lien entre ssh-add et KWallet.
Sur Kubuntu / Debian / Ubuntu :
sudo apt install ksshaskpass
Sur Fedora KDE :
sudo dnf install ksshaskpass
2. Créer le script d’ajout des clés
Créez le dossier s’il n’existe pas :
mkdir -p ~/.config/autostart-scripts/
Créez ensuite le script ~/.config/autostart-scripts/ksshaskpass.sh :
nano ~/.config/autostart-scripts/ksshaskpass.sh
Ajoutez le contenu suivant :
#!/bin/bash
export SSH_ASKPASS='/usr/bin/ksshaskpass'
export SSH_ASKPASS_REQUIRE=prefer
for i in ~/.ssh/*_rsa ~/.ssh/*_ed25519; do
[ -f "$i" ] && ssh-add "$i" < /dev/null
done
La variable SSH_ASKPASS_REQUIRE=prefer est indispensable sur les versions récentes d’OpenSSH : elle force l’utilisation du programme graphique ksshaskpass même lorsqu’un terminal est disponible, ce qui est nécessaire au démarrage de session.
La condition [ -f "$i" ] évite une erreur si aucune clé ne correspond au motif.
Rendez le script exécutable :
chmod +x ~/.config/autostart-scripts/ksshaskpass.sh
3. Créer l’entrée d’autostart (méthode fiable sur KDE Plasma 6)
Sur KDE Plasma 6 (Kubuntu 24.04+, Fedora KDE 40+), le dossier ~/.config/autostart-scripts/ n’est plus déclenché de manière fiable au démarrage de session. Il faut utiliser à la place un fichier .desktop dans ~/.config/autostart/.
Créez le fichier ~/.config/autostart/ksshaskpass.desktop :
nano ~/.config/autostart/ksshaskpass.desktop
Ajoutez le contenu suivant :
[Desktop Entry]
Exec=bash -c '~/.config/autostart-scripts/ksshaskpass.sh'
Name=SSH Keys to KWallet
Comment=Ajoute les clés SSH à KWallet au démarrage de session
Type=Application
X-KDE-Autostart-Phase=2
Le champ Exec appelle simplement le script créé à l’étape précédente via bash, ce qui permet l’expansion du ~. X-KDE-Autostart-Phase=2 garantit que KWallet est déjà déverrouillé avant l’exécution du script.
4. Tester le script
Vous pouvez tester immédiatement sans redémarrer :
~/.config/autostart-scripts/ksshaskpass.sh
KWallet devrait vous demander le mot de passe de vos clés SSH lors du premier lancement, puis le mémoriser pour les sessions suivantes.
Résumé
| Étape | Commande / fichier |
|---|---|
| Installer ksshaskpass | apt install ksshaskpass ou dnf install ksshaskpass |
| Script des clés | ~/.config/autostart-scripts/ksshaskpass.sh |
| Entrée d’autostart | ~/.config/autostart/ksshaskpass.desktop |
Ajouter vos clés SSH à KWallet est un moyen pratique d’automatiser le processus de connexion à des serveurs distants tout en conservant la sécurité offerte par un mot de passe sur vos clés. Grâce au fichier .desktop et à SSH_ASKPASS_REQUIRE=prefer, la solution fonctionne de manière fiable sur Kubuntu et Fedora KDE.
Note : KWallet est spécifique à l’environnement de bureau KDE. Si vous utilisez GNOME, préférez gnome-keyring et seahorse.
