Nextcloud

Impossible de se connecter au WebDAV de Nextcloud depuis Nautilus après un changement de mot de passe

Ça faisait un petit bout de temps que je n'arrivais plus à me connecter au endpoint WebDAV de mon Nextcloud pour accéder à mes fichiers depuis Nautilus, le navigateur de fichier de GNOME. J'avais jamais pris le temps de me pencher sur ce problème jusqu'à aujourd'hui, où j'ai enfin décidé d'y jeter un œil.

Mon point de départ, c'est ce message d'erreur de Nautilus :

Impossible d'accéder à « utilisateur​@nextcloud.example.org » – Erreur HTTP: Unauthorized.

Impossible d'accéder à « utilisateur​@nextcloud.example.org » – Erreur HTTP: Unauthorized.

On y apprend pas grand-chose, à part que je n'ai pas les droits... Alors que pourtant, je devrais bien pouvoir y accéder !

En y réfléchissant, mon problème dure depuis que j'ai activé la 2FA sur mon compte Nextcloud il y a quelques années [oui, j'ai peut-être un peu laissé traîner le sujet... 😛]. Quand on active la 2FA, il n'est plus possible de connecter des applications tierces avec son nom d'utilisateur et son mot de passe principal. Il faut créer des jetons d'accès pour chaque application (dans l'interface de Nextcloud ils appellent ça des mots de passe d'application).

Si jamais vous cherchez comment on crée un jeton, c'est assez simple :

  1. dans votre Nextcloud, cliquez sur votre avatar en haut à droite,
  2. puis cliquez sur « Paramètres personnels ».
  3. Rendez-vous ensuite dans l'onglet « Sécurité »,
  4. puis descendez tout en bas jusqu'à la section « Appareils & sessions ».
  5. Ici vous pourrez créer un mot de passe d'application via le formulaire en bas de page.
Création d'un mot de passe d'application dans Nextcloud

Création d'un mot de passe d'application dans Nextcloud

Du point de vue des applications — et donc de Nautilus — l'activation de la 2FA, c'est comme si j'avais changé de mot de passe, donc rien de bien problématique à priori. Surtout qu'après avoir activé la 2FA, j'ai immédiatement remplacé mon mot de passe par un jeton d'application dans les comptes en ligne de GNOME, et mon calendrier a bien continué à fonctionner après ça... Contrairement au navigateur de fichier ! 🫤

Après quelques recherches, j'ai fini par trouver le problème : Nautilus avait conservé dans le trousseau de clefs le vieux mot de passe, et il essayait systématiquement de se connecter avec celui-ci, quoi que je fasse. Même si je mettais explicitement le nom d'utilisateur et le mot de passe dans l'URL de connexion (davs://utilisateur:jeton​@nextcloud.example.org/remote.php/dav/files/utilisateur), et bah il prenait quand même l'ancien ! C'est qu'il est têtu le bouzin ! 😅

Pour résoudre ce problème, il faut donc accéder au trousseau de clefs de GNOME et supprimer ou mettre à jour le mot de passe fautif. Il existe plusieurs applications permettant de faire ça. Pour ma part j'ai utilisé Seahorse, mais vous pouvez en utiliser une autre comme KeyRack par exemple.

Modification d'un mot de passe du trousseau de clefs à l'aide de Seahorse

Modification d'un mot de passe du trousseau de clefs à l'aide de Seahorse

Si jamais vous vous posez la question, sachez que ce problème est connu des développeurs de GVFS, la couche d'abstraction d'accès aux systèmes de fichiers de GNOME, sur laquelle s'appuie Nautilus. Vous retrouverez plus d'informations dans le ticket suivant sur GitLab de GNOME :

Voilà, si jamais vous rencontrez le même problème que moi, vous devriez à présent pouvoir vous dépatouiller. 😄