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]

答え2

nodejsコマンド/バイナリに対してパスワードのない機能を有効にするとしましょう。

時刻修正

sudo visudo

パスワードなしでコマンドを実行するには、次の行を使用してください。パスワードは複数のコマンドで構成され、各コマンドの後にはコンマとスペースがあります。

<user name> ALL = NOPASSWD: /usr/local/bin/node

前任者。sunthara ALL = NOPASSWD: /usr/local/bin/node

ここに画像の説明を入力してください。

答え3

ssh-server 設定ファイルを編集し、一番下に以下を追加します。

root# vim /etc/ssh/sshd_config

Match User newton
    PermitTTY yes

答え4

関係があるかどうかはわかりませんが、sudoersファイルに「... NOPASSWD:/ xyz / script.shl」を含めたときに#!/bin/shellnameファイルの上部にその行を含めるまで、対応するエラーメッセージが表示されました/xyz/script.shl

関連情報