Purger un mauvais mot de passe SFTP
KWallet en ligne de commande
Un mot de passe erroné a été mémorisé, Dolphin le rejoue en boucle sans jamais redemander - et ça survit même au redémarrage. Voici comment le débusquer et le supprimer au terminal.
01Le scénario
Lors d'une connexion SFTP dans Dolphin, un mot de passe erroné a été saisi avec la case « Retenir le mot de passe » cochée. Depuis :
- La connexion échoue à chaque tentative - normal, le mot de passe est mauvais.
- Le popup de mot de passe ne réapparaît jamais : Dolphin rejoue silencieusement la valeur mémorisée.
- Un redémarrage de la machine ne change rien.
Chaque rechargement de l'emplacement SFTP (F5) rejoue le mauvais mot de passe : côté serveur, chaque tentative compte comme un échec d'authentification. Des systèmes de protection comme fail2ban peuvent alors bannir l'adresse IP - et comme tout le laboratoire sort souvent par la même IP publique, un seul poste qui insiste peut bloquer la classe entière. En cas d'échec répété : on arrête, on diagnostique.
02Pourquoi ça survit au redémarrage
Le mot de passe peut vivre à trois endroits différents. Deux meurent au redémarrage, un seul persiste :
Cache de session de KIO (kpasswdserver). Vidé au redémarrage ou avec killall kiod5.
La fenêtre ouverte garde sa connexion SFTP avec les identifiants. Vidée en fermant Dolphin.
Le portefeuille chiffré sur disque. Survit au redémarrage. C'est lui, le coupable.
Si le problème persiste après un redémarrage, le diagnostic est fait : le mot de passe est rangé dans KWallet, le portefeuille de mots de passe de KDE, stocké dans ~/.local/share/kwalletd/. À chaque connexion, KIO le relit depuis le portefeuille et le rejoue sans poser de question.
03Vérifier d'abord que c'est bien le mot de passe
Avant de fouiller dans KWallet, confirmez la nature de l'erreur avec la couche KIO - la même que Dolphin utilise :
$ kioclient5 ls sftp://etudiant@monserveur.exemple/var/www
- Erreur d'authentification (authentification refusée, permission denied) → c'est bien le mot de passe : continuez ce tutoriel.
- Délai dépassé ou connexion refusée → c'est le réseau ou un blocage côté serveur (pare-feu, bannissement) : ce tutoriel ne s'applique pas, avertissez la personne responsable du serveur.
04Méthode ciblée - supprimer l'entrée fautive
-
Lister les dossiers du portefeuille pour voir où KIO a rangé les mots de passe :
# -l : lister · -f "" : depuis la racine du portefeuille $ kwallet-query --list-folders kdewallet Form Data Maps Passwords -
Lister les entrées du dossier Passwords :
# -l : lister · -f : dossier visé $ kwallet-query -l kdewallet -f Passwords etudiant@monserveur.exempleL'entrée fautive contient le nom d'utilisateur et l'adresse du serveur, parfois avec un préfixe comme
sftp-ou le port:22. Copiez son nom exactement tel qu'affiché. -
Supprimer l'entrée en collant le nom exact :
# -d : supprimer (delete) l'entrée nommée $ kwallet-query -d "etudiant@monserveur.exemple" kdewallet -f Passwords -
Vider les caches en mémoire pour que rien ne traîne :
# Fermer Dolphin et le démon de cache KIO $ killall dolphin kiod5 2>/dev/null -
Réessayer : rouvrez Dolphin, retournez sur l'emplacement SFTP. Le popup de mot de passe réapparaît - saisissez le bon mot de passe, attentivement, cette fois.
Curieuse ou curieux de voir la valeur mémorisée avant de la supprimer ? kwallet-query -r "nom_de_lentree" kdewallet -f Passwords affiche le contenu de l'entrée (-r pour read). Pratique pour confirmer que c'est bien le mauvais mot de passe.
05Méthode radicale - recréer le portefeuille
Si l'entrée est introuvable, que kwallet-query renvoie des erreurs, ou que le temps presse : on détruit le portefeuille au complet. Sur un compte de laboratoire qui ne contient rien d'autre, la perte est nulle.
Cette opération supprime tous les mots de passe mémorisés par KWallet pour ce compte : connexions SFTP, mais aussi parfois réseaux Wi-Fi et mots de passe de navigateurs intégrés à KDE. Sur un poste personnel, préférez la méthode ciblée de la section 04.
# 1. Fermer tout ce qui touche au portefeuille
$ killall dolphin kwalletmanager5 kiod5 2>/dev/null
# 2. Supprimer les fichiers du portefeuille
$ rm ~/.local/share/kwalletd/kdewallet.kwl ~/.local/share/kwalletd/kdewallet.salt
# 3. Redémarrer le démon du portefeuille
$ killall kwalletd5 2>/dev/null
À la prochaine connexion SFTP, l'assistant de création de KWallet apparaît :
Choisir le format de chiffrement proposé par défaut (Blowfish) → Suivant.
Mot de passe du portefeuille : sur un poste de laboratoire, il peut rester vide (aucune invite à chaque session). Sur une machine personnelle, mettez-en un.
Terminer → le popup SFTP revient avec un champ vierge. Saisir le bon mot de passe.
06Prévention
- Ne cochez pas « Retenir le mot de passe » avant d'avoir réussi au moins une connexion. Une fois la connexion validée, mémoriser devient sans risque.
- Trois échecs = on arrête. On ne recharge pas en boucle : on diagnostique avec
kioclient5, sinon on risque un bannissement de l'IP du laboratoire côté serveur. - Sur les postes de laboratoire, KWallet peut être désactivé complètement pour éliminer ce problème à la source - Dolphin demandera alors le mot de passe à chaque connexion, un comportement plus prévisible en contexte de cours. Dans
~/.config/kwalletrc:
# Désactiver le portefeuille : aucun mot de passe mémorisé,
# le popup SFTP est affiché à chaque connexion
[Wallet]
Enabled=false
07En résumé
- Le symptôme : mauvais mot de passe rejoué en silence, popup disparu, persiste après redémarrage.
- Le coupable : KWallet - le seul des trois caches qui vit sur disque.
- Diagnostic :
kioclient5 ls sftp://…pour distinguer erreur d'authentification et problème réseau. - Méthode ciblée :
kwallet-query -lpour lister,-dpour supprimer l'entrée, puiskillall dolphin kiod5. - Méthode radicale : supprimer
kdewallet.kwletkdewallet.salt, laisser KWallet se recréer. - Prévention : ne pas mémoriser avant une connexion réussie, arrêter après trois échecs, envisager de désactiver KWallet en laboratoire.