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それをテストできます。

おすすめ記事