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

JHn*_*net 6 ssh ssh-agent gnome-keyring 17.10

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

sign_and_send_pubkey: signing failed: agent refused operation
Run Code Online (Sandbox Code Playgroud)

我发现了很多关于此消息的线索和问题,但没有任何解决我的问题。我的系统的一些输出:

$ 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)
Run Code Online (Sandbox Code Playgroud)

我在虚拟机中再次安装了 ubuntu,如果尝试使用 ssh 或带有 ssh 键的 git,则会弹出图形密码对话框,并完美地询问我的密码。

小智 6

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

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

chmod 700 ~/.ssh
chmod 600 ~/.ssh/*
Run Code Online (Sandbox Code Playgroud)