通过 ssh 使用 git 时,没有 tty 存在且没有指定 Askpass 程序

通过 ssh 使用 git 时,没有 tty 存在且没有指定 Askpass 程序

我试图将 agit commit从我的笔记本电脑推送到我的服务器,但不断收到以下错误消息:

remote: sudo: no tty present and no askpass program specified 
To ssh://[email protected]/~/site_hub

我的 sudoers 中有以下内容:

Defaults:git !requiretty
git ALL=(apache) NOPASSWD: /usr/bin/git

不知道为什么我会收到该错误消息。我用谷歌搜索了一下,但没有找到解决方案。

答案1

ssh 并不总是打开(伪)tty。这里可能就是这种情况。 tty 分配可以通过以下方式强制执行:ssh -t甚至ssh -tt.如果您无法传递命令行参数,那么您可以通过配置文件执行相同的操作:RequestTTY yes或者RequestTTY force,请参阅 man ssh_config。

相关内容