3

使用“使用 ssh 在远程主机上执行 shell 脚本”选项并需要远程服务器上的 sudo 权限来更改权限并删除受保护的文件。如何使用此权限运行会话?

获取消息

sudo:对不起,你必须有一个 tty 才能运行 sudo

尝试运行 sudo 命令时。

4

2 回答 2

2

sudo远程运行,您有 2 个选项

  1. 允许用户在sudo没有密码的情况下运行命令。

将文件附加username ALL=(ALL) NOPASSWD: ALL到. 或者,您可以修改此行以仅允许在没有密码的情况下运行某些命令/etc/sudoerssudo visudosudo

  1. 使用伪 tty 远程模拟 tty 并sudo在需要时输入您的密码。

为此运行ssh -t username@host command_to_execute

于 2019-09-28T18:41:10.807 回答
0

如果远程服务器接受root用户的直接登录,您可以简单地执行以下操作:

ssh -l root yourserver command_to_execute

类似的语法是:

ssh root@yourserver command_to_execute

请注意,允许root用户通过 ssh 登录到远程服务器并不总是一个好的解决方案。更好的解决方案是更改所有者/权限以允许非 root 用户修改受保护的文件。

于 2013-10-02T10:15:59.633 回答