web-dev-qa-db-fra.com

Pourquoi les opérations SSH demandent-elles toujours une phrase secrète? (avec ed25519)

Je viens de mettre à jour ma clé ssh et d’ajouter un mot de passe complexe, mais cela m’engourdit constamment, par exemple lorsque je fais un push git (ou Mercurial hg). ssh-agent est en cours d'exécution:

xxx  1303  1118  0 09:16 ?  00:00:00 /usr/bin/ssh-agent
   /usr/bin/dbus-launch --exit-with-session 
   /usr/bin/im-launch mate-session

J'ai essayé ssh-add:

> ssh-add
Identity added: /home/…/.ssh/id_rsa (/home/…/.ssh/id_rsa)
Enter passphrase for /home/…/.ssh/id_ed25519: 
Could not add identity "/home/…/.ssh/id_ed25519": 
    communication with agent failed

Que manque-t-il? 16.04 Ubuntu Mate, au cas où ce serait important.

7
Gringo Suave

Edit 2018:

Cela a été résolu dans gnome-keyring par encapsulant ssh-agent récemment, donc les solutions de contournement ne devraient plus être nécessaires et tout devrait fonctionner immédiatement.

Solutions originales pour les systèmes plus anciens:

/run/user/1000/keyring/ssh est le chemin du trousseau Gnome (hippocampe), qui ne prend pas en charge les clés Ed25519. Il y a deux possibilités:

  1. Ne pas utiliser les clés ED25519 et utiliser RSA (ce qui devrait être assez bon)

  2. Exécutez de vrais ssh-agent dans vos scripts de démarrage (~/.xsession) en utilisant

    eval `ssh-agent`
    
8
Jakuje