通过 ssh 使用 sudo:未找到 sudo 命令

通过 ssh 使用 sudo:未找到 sudo 命令

我正在尝试以超级用户身份通过​​ 远程服务器上运行命令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来尝试查找其位置来测试这一点。

相关内容