Rundeck 用户切换用户失败

Rundeck user fails to switch user

使用运行套牌。我使用以下设置创建了一个节点:

  <attribute name="sudo-command-enabled" value="true"/>
  <attribute name="sudo-prompt-pattern" value=""/>
  <attribute name="sudo-command-pattern" value="^sudo.*"/>

我已将密钥添加到授权密钥中,并确保在服务器上不需要密码即可切换到“myuser”。 当我 运行 命令切换到“我的用户”作为我工作流程的第一步时,我得到以下 message/output:

Sudo execution password response failed: Failed waiting for input prompt: Expected input was not seen in 5000 milliseconds
Failed: NonZeroResultCode: Remote command failed with exit status -1
myuser@<server_ip_address_here>:~$

命令 运行 步骤如下所示:

sudo su - myuser

值得注意的是,手动通过 SSH 连接到服务器并键入上面的命令不会产生任何错误。

从最后一行可以看出,它确实成功切换到“myuser”。但是,由于存在状态为 -1,因此不会 运行 紧随其后的任何其他命令。

我需要做什么或配置什么才能让我的节点停止询问密码并因此失败,特别是考虑到切换显然是成功的?

我做了同样的事情(无密码 sudo 配置)并且以这种方式工作。

  1. 节点定义:
<?xml version="1.0" encoding="UTF-8"?>
<project>
  <node name="node00" 
  description="Node 00" 
  tags="user" 
  hostname="192.168.33.20" 
  osArch="amd64" 
  osFamily="unix" 
  osName="Linux" 
  osVersion="3.10.0-1062.4.1.el7.x86_64" 
  username="vagrant" 
  ssh-key-storage-path="keys/rundeck" 
  sudo-command-enabled="true" 
  sudo-command-pattern="^\[sudo\] password for .+: .*" />
</project>
  1. 现在您可以转到“命令”部分,select 目标节点并切换到 root 用户:
sudo whoami

现在,任何带有 sudo 语句的命令都是 elevated