SSH経由でgitを使用している場合、ttyは存在せず、Askpassプログラムは指定されません。

SSH経由でgitを使用している場合、ttyは存在せず、Askpassプログラムは指定されません。

git 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

なぜそのエラーメッセージが表示されるのか分からない。 Googleを試しましたが、解決策が見つかりませんでした。

答え1

sshは常に(医師)ttyを開くわけではありません。ここではそうかもしれません。 tty割り当てはssh -tevenで強制できますssh -tt。コマンドライン引数を渡すことができない場合は、構成ファイルを使用して同じことを実行できます。RequestTTY yesまたはRequestTTY forceman ssh_config もご覧ください。

関連情報