Kubuntu / KDE : login ssh automatique par clé

De Linux Server Wiki
Aller à : navigation, rechercher

Si vous avez généré un couple de clés pour vous connecter à votre serveur en ssh vous avez du remarquer que KDE ne retient pas votre passphrase lorsque vous vous connectez à votre serveur. Vous devez donc réentrer la passphrase à chaque connexion ssh. Pas très pratique.

Pour de l'aide à propos de la génération des clés pour l'authentification par clé publique, rendez vous sur ce tutoriel

1 ssh-agent

ssh-agent est le daemon chargé de mémoriser les passphrases pour les différentes clés ssh que vous avez à votre disposition.

Sous kubuntu, ssh-agent est lancé automatiquement au login. Vous pouvez vérifier s'il est lancé en tapant :

ps lx | grep ssh-agent

Ensuite, il vous suffit de lancer ssh-add suivi du chemin vers votre clé. Par exemple :

ssh-add .ssh/id_rsa

Si vous ne spécifiez pas d'argument, ssh-add cherchera à ajouter la clé .ssh/id_rsa ou .ssh/id_dsa si elle existe.

ssh-agent conservera la passphrase en mémoire tant que vous ne fermez pas votre session KDE.

2 Lancement automatique avec la session et intégration avec le wallet de kde

Installez les paquets ksshaskpass et ssh-askpass

sudo aptitude install ksshaskpass ssh-askpass

Nous allons maintenant créer un fichier qui sera lancé à chaque ouverture de votre session kde. Entrez les lignes suivantes dans un terminal :

cat >~/.kde/Autostart/ssh-add.sh <<_EOT_
#!/bin/sh
export SSH_ASKPASS=/usr/bin/ksshaskpass
ssh-add </dev/null
_EOT_
chmod +x ~/.kde/Autostart/ssh-add.sh

Exécutez enfin le script :

~/.kde/Autostart/ssh-add.sh

Une fenêtre va s'ouvrir vous demandant la passphrase, et vous pourrez choisir de la retenir ou non dans le wallet de KDE. Si vous ne retenez pas la passphrase dans le wallet, elle vous sera redemandé à chaque ouverture de votre session. Si vous choisissez de la retenir dans le wallet, tout sera automatique.