我在 Linode 上安装了 Ubuntu Server 10.04。每次我需要将一些更改推送到 GitHub 时,我尝试使用 ssh-agent 来停止输入密码。我使用的是GitHub提供的脚本这里。但是,当我获取.zshrc
文件或注销并重新登录时,我收到以下错误消息:
Could not open a connection to your authentication agent.
Error: Can't open display: (null)
有谁知道问题可能是什么以及我该如何解决它?
答案1
您的 .zshrc 可能正在修改 DISPLAY 变量,或修改对屏幕的访问。通常 ssh-agent 会在您启动 gnome 时启动。变量 SSH_AUTH_SOCK 设置为 ssh-agent 的套接字。如果设置了此变量,则 ssh-agent 将在需要时尝试打开窗口以获取密钥的密码。
如果您的显示器无法访问,您可以使用 ssh-add 从命令行添加密钥。重新启动后执行此操作。如果您的密钥过期,您还需要重复此操作。
答案2
听起来当您获取文件时 ssh-agent 没有运行。您已注释掉第 46 行和第 47 行:
# eval `ssh-agent`
# ssh-add ~/.ssh/id_rsa
尝试取消注释这些行。