如何修复 Ubuntu 17.10 上的“ssh-agent 拒绝操作”?

如何修复 Ubuntu 17.10 上的“ssh-agent 拒绝操作”?

我在一台机器上安装了 Ubuntu 17.10 并创建了一个 ssh 密钥。但是我无法使用 gnome 密钥环来解锁此 ssh 密钥,尝试通过 ssh 连接或将我的 ssh 密钥与 git 一起使用时,我总是收到以下错误消息:

sign_and_send_pubkey: signing failed: agent refused operation

我发现了很多关于此消息的帖子和问题,但没有一个能解决我的问题。我的系统的一些输出:

$ env | grep -i ssh
    SSH_AUTH_SOCK=/run/user/1000/keyring/ssh
    SSH_AGENT_PID=1139

$ ps aux | grep -i 'agent\|keyring'
    username    997  0.0  0.1 509344  8064 ?        Sl   15:15   0:00 /usr/bin/gnome-keyring-daemon --daemonize --login
    username   1139  0.0  0.0  11240   324 ?        Ss   15:15   0:00 /usr/bin/ssh-agent /usr/bin/im-launch env GNOME_SHELL_SESSION_MODE=ubuntu gnome-session --session=ubuntu

$ ssh-add -l
    4096 SHA256:fingerprintXXX username@machine (RSA)

我在虚拟机中再次安装了 ubuntu,如果尝试使用 ssh 或 git 以及 ssh 密钥,就会弹出图形密码对话框并完美地要求我输入密码。

答案1

代理可以工作,它只是不配合,因为它认为你正在做一些不安全的事情。

最常见的情况是您的 ssh 密钥文件权限错误。例如,如果您从另一台计算机复制了它们;请确保该~/.ssh文件夹具有700权限(只有您可以访问),同样,其中的文件不应被其他人读取。

chmod 700 ~/.ssh
chmod 600 ~/.ssh/*

相关内容