SSHによるsudo:ttyは存在せず、Askpassプログラムは指定されていません。

SSHによるsudo:ttyは存在せず、Askpassプログラムは指定されていません。

このエラーは引き続き発生し、この問題を解決するためにオンラインで議論されたいくつかの方法を試しましたが、そのうち何も効果がありませんでした。 SSHキーを設定して実行すると自動的にログインし、このユーザーも次のように設定して追加を試みました。'ssh [email protected]'visudo'newton ALL=(ALL:ALL) ALL''newton ALL=NOPASSWD: /var/www/script.sh'

残念ながら、Cygwinから逃げるたびに戻ってきます。追加も試しましたが、パスワードの入力を求められました。ssh [email protected] 'sudo /var/www/script.sh'-t -t

total size is 21209180  speedup is 314.69
sudo: no tty present and no askpass program specified
Sorry, try again.
sudo: no tty present and no askpass program specified
Sorry, try again.
sudo: no tty present and no askpass program specified
Sorry, try again.
sudo: 3 incorrect password attempts
sudo: no tty present and no askpass program specified
Sorry, try again.
sudo: no tty present and no askpass program specified
Sorry, try again.
sudo: no tty present and no askpass program specified
Sorry, try again.
sudo: 3 incorrect password attempts

ベストアンサー1

sudoパスワードの入力を求めるために機能する端末が必要です。にコマンドを渡すと、コマンドが端末をssh必要としないと仮定し、転送しないと端末は生成されません-t。バラよりSSH 内部 SSH が "stdin: not a tty" のため失敗します。より詳細な説明が必要です。

それでもパスワードを入力できない場合は、-tWindowsで問題が発生した可能性があります。 WindowsコンソールはUnix端末を完全にエミュレートしません。 Cygwinアプリケーションは、そのような場合、端末を正しくエミュレートするのに少し難しいかもしれません。これが問題の場合は、sshターミナルエミュレータで実行してください。コンソール2またはMintty(Cygwinディストリビューションに含まれる) - 参照Windows 7でCygwinでシェルを使用する最良の方法

SSHパスワードをsudoに置き換えると、これは発生しません。 Sudoにはパスワードが必要です(NOPASSWDsudoersファイルにタグを追加しない限り)。このオプションがsudoersファイルに設定されていNOPASSWDても、まだrequiretty端末が必要です。

ルートアカウントにパスワードなしでログインする場合(通常はセキュリティの観点からは悪い考えです)、SSHを使用してルートアカウントにアクセスすることをお勧めします。バラよりSSH 内部 SSH が "stdin: not a tty" のため失敗します。(そして[email protected][email protected]

おすすめ記事