Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 如何使用sudo权限从Jenkins运行远程ssh会话?_Linux_Ssh_Jenkins_Remote Access_Sudo - Fatal编程技术网

Linux 如何使用sudo权限从Jenkins运行远程ssh会话?

Linux 如何使用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用

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

获得信息

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


尝试运行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
    命令

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

  • 要执行此操作,请运行
    ssh-tusername@host命令执行

    这是一种安全风险。不应允许root使用ssh。相反,是具有sudo特权的普通用户。@Oliver,你说得对。在回答中,我添加了“请注意,允许root用户通过ssh登录到远程服务器并不总是一个好的解决方案。”我想为阅读公认答案的经验较少的人做一个更有力的陈述,因为“不总是一个好的解决方案”意味着它通常是好的,但并不总是好的。然而我是说,这通常是不好的,在一些情况下可能是合理的。