Depuis que j'ai mis à jour Ubuntu 17.10 il y a quelque temps, mes clés privées - celles que j'utilise par exemple pour accéder à mon serveur via ssh - ne sont plus déverrouillées par programme après la connexion.
D'après ce que j'ai compris, le seahorse client
devrait généralement s'en charger, en vous demandant si vous souhaitez ou non enregistrer le mot de passe de la clé lors de la première saisie.
Ma première hypothèse était que seahorse-daemon
ne fonctionnait pas pour une raison quelconque, mais c'est:
user@Zeus:~$ ps aux | grep seahorse
user 19170 0.0 0.1 432636 26564 ? Ss 00:07 0:00 seahorse-daemon
Ma deuxième hypothèse était que, pour une raison quelconque, je dois supprimer tous les mots de passe associés stockés dans seahorse sous "Mots de passe-> login":
J'espérais obliger le client à me demander à nouveau et ensuite à les stocker à nouveau. Mais cela n'a pas aidé non plus. Le client n'apparaît pas pour me demander ...
Ensuite, j'ai trouvé cette question, qui pourrait être liée, mais ne m'a pas aidé: Déverrouiller toutes les clés privées sur Ubuntu, en entrant le mot de passe une seule fois à la connexion
Comme la gestion des autres mots de passe fonctionne comme prévu (par exemple, les mots de passe pour Nautilus, Chromium, Nextcloud, etc.), je suppose que le problème doit faire quelque chose avec ssh-agent
...
Quelqu'un peut-il m'indiquer dans les bonnes directions comment résoudre ce problème? Est-ce que quelque chose a changé dans la façon dont GNOME gère les mots de passe? Peut-être qu'un nouveau programme sophistiqué n'a pas été installé pendant le processus de mise à niveau?
UPDATE Lorsque j'ajoute à nouveau la clé privée à l'agent d'authentification avec:
ssh-add ~/.ssh/id_rsa
et essayez de vous connecter, il ne me sera demandé de déverrouiller la clé qu’une seule fois, après quoi la clé sera déverrouillée par programme. Mais cela ne fonctionne que jusqu'au prochain redémarrage. Après un nouveau départ, je dois ajouter la clé à nouveau ...
Oui, ssh-agent est la réponse. Pour enregistrer la phrase secrète, il vous suffit de:
ssh-add ~/.ssh/id_rsa
Ensuite, entrez votre mot de passe et reconnectez-vous.
Première option
Démarrer l'agent ssh:
ssh-agent
Ajoutez la clé ssh:
ssh-add ~/.ssh/id_rsa
Pour qu'il persiste après le redémarrage, démarrez automatiquement ssh-agent, ajoutez la ligne suivante à votre fichier .bash_profile:
if [ -z "$SSH_AUTH_SOCK" ] ; then
eval `ssh-agent -s`
ssh-add
fi
Deuxième option
Ajoutez ceci à votre .bashrc ou .zshrc:
if [ ! -S ~/.ssh/ssh_auth_sock ]; then
eval `ssh-agent`
ln -sf "$SSH_AUTH_SOCK" ~/.ssh/ssh_auth_sock
fi
export SSH_AUTH_SOCK=~/.ssh/ssh_auth_sock
ssh-add -l > /dev/null || ssh-add
Cela ne devrait demander un mot de passe que la première fois que vous vous connectez après chaque redémarrage. Il continuera à réutiliser le même agent-ssh tant qu'il reste en cours d'exécution.