← Hub Debug
Administration serveur · KDE · Dépannage

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.

Ubuntu 24.04 KDE Plasma KWallet / kwallet-query KIO

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 :

Arrêtez de recharger !

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 :

Mémoire vive Démon kiod

Cache de session de KIO (kpasswdserver). Vidé au redémarrage ou avec killall kiod5.

Mémoire vive Instance Dolphin

La fenêtre ouverte garde sa connexion SFTP avec les identifiants. Vidée en fermant Dolphin.

Sur disque KWallet

Le portefeuille chiffré sur disque. Survit au redémarrage. C'est lui, le coupable.

Explication

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 :

Terminal
$ kioclient5 ls sftp://etudiant@monserveur.exemple/var/www

04Méthode ciblée - supprimer l'entrée fautive

  1. Lister les dossiers du portefeuille pour voir où KIO a rangé les mots de passe :

    Terminal
    # -l : lister · -f "" : depuis la racine du portefeuille
    $ kwallet-query --list-folders kdewallet
    Form Data
    Maps
    Passwords
  2. Lister les entrées du dossier Passwords :

    Terminal
    # -l : lister · -f : dossier visé
    $ kwallet-query -l kdewallet -f Passwords
    etudiant@monserveur.exemple

    L'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é.

  3. Supprimer l'entrée en collant le nom exact :

    Terminal
    # -d : supprimer (delete) l'entrée nommée
    $ kwallet-query -d "etudiant@monserveur.exemple" kdewallet -f Passwords
  4. Vider les caches en mémoire pour que rien ne traîne :

    Terminal
    # Fermer Dolphin et le démon de cache KIO
    $ killall dolphin kiod5 2>/dev/null
  5. 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.

Astuce

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.

Attention

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.

Terminal
# 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 :

  1. Choisir le format de chiffrement proposé par défaut (Blowfish) → Suivant.

  2. 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.

  3. Terminer → le popup SFTP revient avec un champ vierge. Saisir le bon mot de passe.

06Prévention

~/.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é