我尝试从rundeck作业远程运行另一个用户的命令。 Rundeck为升级权限提供sudo login \ passwod机制。 在我的远程服务器上的sudoers文件NOPASSWD选项。在这种情况下我如何配置rundeck作业?
我的节点配置:
<project>
<node name="testServer"
type="Node"
description="testNode"
hostname="IP_ADDRESS"
username="${option.Login}"
ssh-authentication="password"
sudo-command-enabled="true"
ssh-password-option="option.Password"
/>
</project>
作业中的示例命令成为另一个用户:
sudo /bin/su suuser -
尝试执行后出错:
Remote command failed with exit status -1
08:57:13 Sudo execution password response failed: Failed waiting for input prompt: Expected input was not seen in 5000 milliseconds
08:57:13 Failed: NonZeroResultCode: Remote command failed with exit status -1
答案 0 :(得分:0)
我在节点中添加了以下三个属性,它似乎可以工作:
sudo-command-enabled="true"
sudo-prompt-pattern=""
sudo-command-pattern="^sudo.*"
答案 1 :(得分:0)
您必须在“编辑项目配置文件”
中设置以下属性project.ssh-authentication=password
project.ssh-keypath=/home/rundeck/.ssh/id_rsa
project.ssh-password-storage-path=keys/xyz.password
project.sudo-command-enabled=true
project.sudo-password-option=option.jobPassword
project.sudo-password-storage-path=keys/xyz.password
project.sudo-prompt-pattern=^Password\:.*