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.

관련 정보