我试图将 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。