在无头linux服务器上使用git客户端

ehr*_*rdt 13 linux git

如何强制git-client仅使用控制台/终端.当我ssh到我的远程/无头Linux计算机并尝试运行:

git clone https://myname@bitbucket.org/xxx/xxx.git

git抱怨并给我这个错误:( gnome-ssh-askpass:2769):Gtk-WARNING**:无法打开显示:

我不想使用图形界面也不想使用ssh -X.我只想配置git-client才能使用终端.

我正在使用CentOs并使用yum install git获得git-client.

Tux*_*ude 26

您可以通过取消gnome-ssh-askpass设置SSH_ASKPASS环境变量来禁用当前会话:

unset SSH_ASKPASS
Run Code Online (Sandbox Code Playgroud)

您可以将其添加到您的.bashrc.profile使用条件检查用户是否使用SSH登录.就像是:

[ -n "$SSH_CONNECTION" ] && unset SSH_ASKPASS
Run Code Online (Sandbox Code Playgroud)

顺便说一下,其他人也抱怨git盲目调用SSH_ASKPASS程序的行为,而不确定它是否是一个GUI会话.如果您阅读完整的线程,它将解释不可能使用DISPLAY环境变量来检测这一点.此外,没有提到该补丁是否被接受.


Sam*_*Sam 5

根据Tobu的回答,我最终得到了这个~/.bashrc- 我想~/.bash_profile如果你在ssh会话中使用git,你会想要它:

export GIT_ASKPASS=
Run Code Online (Sandbox Code Playgroud)

这似乎是使用CLI密码提示阻止恼人的gnome-ssh-askpass对话.

取消SSH_ASKPASS,这似乎是最常见的建议,可能产生一些意想不到的副作用.


Fem*_*ref 3

您需要将 ssh-askpass 命令更改为不使用 UI 的命令(gnome-ssh-askpass从错误消息中可以看出,是 atm)。