为什么 ssh 操作总是要求输入密码?(与 ed25519 有关)

为什么 ssh 操作总是要求输入密码?(与 ed25519 有关)

我刚刚更新了我的 ssh 密钥并添加了密码,但是它现在不断地困扰我,例如当我执行 git(或 mercurial hg)推送时。 ssh-agent正在运行:

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

我试过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

缺少什么? 16.04 Ubuntu Mate,以防万一。

答案1

编辑2018:

这个问题在 gnome-keyring 中得到了解决包装 ssh-agent因此不再需要解决方法并且一切都应该可以立即使用。

旧系统的原始解决方法:

/run/user/1000/keyring/ssh是 Gnome 密钥环(seahorse)的路径,不支持 Ed25519 密钥。有两种可能:

  1. 不要使用 ED25519 密钥,而要使用 RSA(这应该足够好了)

  2. ssh-agent在启动脚本中运行 real ( ~/.xsession) 使用

     eval `ssh-agent`
    

相关内容