如何在具有 root 权限的远程服务器上运行 shell

Dan*_*Dan 3 root ssh remote

我想在远程服务器上执行一个 shell 脚本,该脚本应该由 root 运行,不需要密码(或sudo在脚本中使用)。谁能给我一些建议?

jof*_*fel 6

除了sudo可以对脚本友好的解决方案(针对特定命令没有额外的密码提示)或不易确保安全的setuid解决方案之外,我建议使用带有 command= 限制的 ssh 公钥授权。

为此,您需要启用 root 用户的无密码登录(如果尚未完成)(PermitRootLogin without-password/etc/ssh/sshd_config),并/root/.ssh/authorized_keys使用 command= 参数添加您的(或者更好地为这种情况创建一个特殊的)ssh 公钥,如本答案中所述