当使用“sudo su”时,jenkins在ssh上执行shell

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了当使用“sudo su”时,jenkins在ssh上执行shell相关的知识,希望对你有一定的参考价值。

Exec commandexecute shell over ssh,我只把命令sudo su放在那里。

但是当我构建项目时,它总是停在命令sudo su直到超时。

The image show what I get in console output.

答案

欢迎来到StackOverflow。

sudo

sudo用于自定义安装,系统文件修改等

Interactive shells (human in front of monitor)

当您执行sudo之前的某个命令时,此shell将询问您某个特权用户的密码。此ask事件等待用户响应:

enter image description here

Background executions

某些进程,crons,脚本或jenkins等应用程序需要执行sudo命令。但在此模式下,无法输入密码。这是你超时的原因

Solutions

以上是关于当使用“sudo su”时,jenkins在ssh上执行shell的主要内容,如果未能解决你的问题,请参考以下文章

su | sudo su | sudo -i

如何在 Ruby 中使用 net-ssh sudo su

SSH到服务器,Sudo su - 然后在bash中运行命令[重复]

JSCH sudo su 命令“tty”错误

不能再 SUDO SU,“没有 tty 存在,也没有指定 askpass 程序”

su 与 sudo 区别