web-dev-qa-db-fra.com

Quelle pourrait être la raison, que les clés privées ne sont pas déverrouillées?

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.

enter image description here

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": enter image description here

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

12
user5950

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.

7
darksky

L'ajout d'un agent de clé SSH (GNOME Keyring: Agent SSH) aux applications de démarrage a résolu le problème pour moi:

enter image description here

6
Alexey

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.

3
An0n