원격 서버에서 슈퍼유저로 명령을 실행하려고 합니다 ssh
. 이를 위해 macOS에서 ssh -t
다음과 같은 명령을 전달합니다.
bash-5.2$ ssh -t [email protected] "sudo echo Hi"
서버에 로그인할 때 비밀번호 프롬프트가 표시되지만 sudo에 대한 비밀번호 프롬프트 대신 다음 오류가 나타납니다(sudo와 함께 사용하는 명령에 관계 없음).
bash: line 1: sudo: command not found
Connection to server.com closed.
왜 이런 일이 발생하는지 이해하지 못합니다. 서버에 로그인하여 개별적으로 명령을 실행하면 제대로 작동합니다. 그래서 이것은 작동합니다 :
bash-5.2$ ssh [email protected]
... Password:
Last login: ...
bash-5.1$ sudo echo hi
Password:
Last login: ...
hi
나는 이것에 매우 익숙하지 않기 때문에 명백한 것을 간과하고있을 수 있습니다.
답변1
설치되어 있으면 sudo
경로에 없을 수도 있습니다.
sudo
또는 를 실행하여 which sudo
해당 경로가 맞는지 확인하세요 echo $PATH
. sudo가 경로에 없으면 경로 변수가 손상되었을 수 있습니다. 일반적인 위치를 수행하거나 해당 위치를 찾기 위해 sudo /usr/bin/sudo
실행하여 locate sudo | grep bin
이를 테스트해 볼 수 있습니다 .