2

当我尝试在远程机器上使用 git(通过 ssh)时,它抱怨无法连接到我的显示器。由于我在不同机器的屏幕环境中使用此 ssh 连接,因此无法使用 X11 转发。但是,我不需要任何图形界面来输入我的密码。

命令:

$ git拉

连接本地主机端口 6010:连接被拒绝

(gnome-ssh-askpass:7316): Gtk-WARNING **: 无法打开显示: localhost:36.0

版本:

$ git --版本

git 版本 1.7.1

我怎样才能在这里解决对图形连接的需求?

4

1 回答 1

1

请阅读gitcredentials(7)手册页(您可以在git help credentials本地运行阅读)。

它解释了 Git 如何管理获取凭证的问题。

即,GIT_ASKPASS您可能对环境变量的使用感兴趣。

或者,您可以允许您的 SSH 客户端将连接转发到您的本地代理(保存您的密钥的东西),以便在远程会话中运行的 Git 可以使用相同的身份。当然,只有在适用的情况下才使用它(即身份相同)。在这种情况下,SSH 甚至不会尝试询问密码,因为它将由代理提供服务。阅读ssh_config(5)手册页并查找ForwardAgent配置选项。

重申一下,问题的根源似乎在于 SSH 需要询问您的凭据,并且您必须确保它不需要。因此,解决方案可能就像ssh-agent在远程会话中运行并ssh-add在运行 Git 之前为其添加必要的身份一样简单,或者只是确保与获取 SSH 凭据相关的环境变量和 Git 配置设置具有有意义的值。

于 2015-04-29T14:34:32.947 回答