2016-03-25 46 views
0

我希望能够使用Rundeck在远程节点上执行shell命令,我发现this video解释了如何做到这一点,但我不明白私钥部分以及如何配置它。我不断收到以下错误:在rundeck中添加远程节点

Authentication failure connecting to node: "test-001". Make sure your resource definitions and credentials are up to date. Failed: AuthenticationFailure: Authentication failure connecting to node: "test-001". Make sure your resource definitions and credentials are up to date.

我有一个远程服务器设置和我配置了resource.xml文件类似如下:

<node name="test-001" description="demo for test" tags="demo" hostname="10.10.10.10:22" osFamily="unix" osName="Linux" osVersion="2.6.32" username="demo" /> 

我需要的ssh-key值添加到xml文件?如果是这样,我是否必须将Rundeck服务器的公钥或私钥复制到主机服务器?
此外,用户名演示也有一个密码,所以我该如何定义它?

回答

9

Rundeck主机服务器通过与SSH私钥认证完全相似的私钥认证方式连接到节点。请按照以下步骤将节点添加到您的服务器rundeck。

打开resources.xml文件并添加以下内容。

<node name="rundeck node2" description="Rundeck node2" tags="node2" hostname="10.1.0.1" osArch="amd64" osFamily="unix" osName="Linux" osVersion="3.11.10-03111015-generic" username="leo" ssh-keypath="/var/lib/rundeck/node2.key"/> 

您可以更改节点和私钥文件名中的SSH用户名。除此之外,您还可以更改所有其他命名参数,如节点名称和标签等。

现在进入您的节点服务器。

  1. 创建一个SSH用户,这里低轨其
  2. 切换到用户狮子座。生成SSH密钥
  3. SSH-凯基
  4. 追加公钥AUTHORIZED_KEYS
  5. [email protected]:~/.ssh$ pwd /home/leo/.ssh [email protected]:~/.ssh$ cat id_rsa.pub >> authorized_keys [email protected]:~/.ssh$ chmod g-w authorized_keys
  6. 复制私钥
  7. [email protected]:~/.ssh$ cat id_rsa

保存私钥文件“/ VAR /lib/rundeck/node2.key“在rundeck主机上。现在认证是可以的,并准备好从rundeck仪表板执行adhoc命令

+0

感谢Leo它的工作!我还有一个问题,你知道我是否可以并行运行作业,并在rundeck中进行排序?例如,我有4个作业A,B,C和D .. B在A之后运行,而D在C之后运行,但D和A彼此独立,另一个作业E仅在D和B完成之后运行。所以我需要构建一个可以通过触发A和C来模仿这种情况的工作流程,如果A完成,那么我们可以从B开始,直到D完成后我们才会启动E。 – tkyass

+1

嗨LEO, 我尝试了上述步骤,但我得到以下错误: \t失败:SSHProtocolFailure:无效的专用密钥:[B @ 417d5eca 你能帮帮我吗? –

+0

请确保您在最新的rundeck上运行,在authorized_keys上附加的公钥只是您拥有的一对私钥。除了rundeck,它基于基于ssh密钥的身份验证。 –