Ubuntu 17.04(Zesty Zapus)对我的 ssh-agent 做了什么?

Ubuntu 17.04(Zesty Zapus)对我的 ssh-agent 做了什么?

我刚刚将我的 Ubuntu 16.10 安装升级到 Ubuntu 17.04,发现我不再有可用的 ssh 代理:

$ ssh-add my_rsa_key
Error connecting to agent: No such file or directory
$

经过最少的调查,我发现SSH_AUTH_SOCK设置了一些似乎没有意义的的东西:

$ env | grep SSH
SSH_AUTH_SOCK=/run/user/1000/openssh_agent
SSH_AGENT_LAUNCHER=openssh
$

我不知道是什么原因造成的/run/user/1000/openssh_agent,但它在我的系统上不起作用:

$ ls /run/user/1000/openssh_agent
ls: cannot access '/run/user/1000/openssh_agent': No such file or directory

在我将 ssh-agent 添加为“启动应用程序”后,它在 Ubuntu 16.10 上正常运行eval $(ssh-agent)。它仍然存在,并且有一个 ssh-agent 在运行,但我似乎不再设置正确的代理环境变量。

答案1

可能有帮助:

  1. 确保安装了合理最新版本的 OpenSSH SSH 代理。

  2. 将其添加到~/.bashrc

    if ! pgrep -u "$USER" ssh-agent > /dev/null; then
        ssh-agent > ~/.ssh-agent-thing
    fi
    eval "$(cat ~/.ssh-agent-thing)" >& /dev/null
    
  3. 使用 GNOME Tweak Tool,转到“启动应用程序”并删除“密码和密钥”。

  4. 将其添加到~/.pam_environment

    GSM_SKIP_SSH_AGENT_WORKAROUND DEFAULT=1
    
  5. 退出 GNOME 桌面环境(或者,如果需要,重新启动)。

执行此解决方法后,从 GNOME 终端运行ssh-agentssh-add 应该会导致调用 OpenSSH 的 SSH 代理。

相关内容