Linux 如何使用sudo权限从Jenkins运行远程ssh会话?
使用“使用ssh在远程主机上执行shell脚本”选项,并且需要远程服务器上的sudo权限来更改权限和删除受保护的文件。 如何使用此权限运行会话 获得信息 sudo:对不起,你必须有一个tty才能运行sudoLinux 如何使用sudo权限从Jenkins运行远程ssh会话?,linux,ssh,jenkins,remote-access,sudo,Linux,Ssh,Jenkins,Remote Access,Sudo,使用“使用ssh在远程主机上执行shell脚本”选项,并且需要远程服务器上的sudo权限来更改权限和删除受保护的文件。 如何使用此权限运行会话 获得信息 sudo:对不起,你必须有一个tty才能运行sudo 尝试运行sudo命令时。如果远程服务器接受root用户的直接登录,您只需执行以下操作: ssh -l root yourserver command_to_execute 类似的语法是: ssh root@yourserver command_to_execute 请注意,允许root用
尝试运行sudo命令时。如果远程服务器接受root用户的直接登录,您只需执行以下操作:
ssh -l root yourserver command_to_execute
类似的语法是:
ssh root@yourserver command_to_execute
请注意,允许root用户通过ssh登录到远程服务器并不总是一个好的解决方案。
更好的解决方案是更改所有者/权限以允许非root用户修改受保护的文件。要远程运行
sudo
,您有两个选项
sudo
命令username ALL=(ALL)NOPASSWD:ALL
带有sudo-visudo
的/etc/sudoers
文件。或者,您可以修改此行,只允许在没有密码的情况下运行某些sudo
命令
sudo
密码要执行此操作,请运行
ssh-tusername@host命令执行
这是一种安全风险。不应允许root使用ssh。相反,是具有sudo特权的普通用户。@Oliver,你说得对。在回答中,我添加了“请注意,允许root用户通过ssh登录到远程服务器并不总是一个好的解决方案。”我想为阅读公认答案的经验较少的人做一个更有力的陈述,因为“不总是一个好的解决方案”意味着它通常是好的,但并不总是好的。然而我是说,这通常是不好的,在一些情况下可能是合理的。