为什么ssh操作总是要求密码? (with 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,万一重要。
编辑2018:
这是通过最近包装ssh-agent在gnome-keyring中解决的,因此不再需要变通办法,所有东西都应该开箱即用。
旧系统的原始解决方法:
/run/user/1000/keyring/ssh
是Gnome密钥环(seahorse)的路径,它不支持Ed25519密钥。 有两种可能性:
-
不要使用ED25519密钥并使用RSA(应该足够好)
-
使用启动脚本(
~/.xsession
)运行真正的ssh-agent
eval `ssh-agent`