在rundeck

时间:2016-03-25 17:35:01

标签: ssh rundeck

我希望能够使用Rundeck在远程节点上执行shell命令,我发现this video解释了如何执行此操作,但我不了解私钥部分以及如何配置它。我一直收到以下错误:

  

连接到节点的身份验证失败:“test-001”。确保你的   资源定义和凭据是最新的。失败:   AuthenticationFailure:连接到节点的身份验证失败:   “测试-001”。确保您的资源定义和凭据已启动   到目前为止。

我设置了远程服务器,并按如下方式配置了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服务器复制到主机服务器? 此外,用户名演示也有密码,那么如何定义呢?

3 个答案:

答案 0 :(得分:13)

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用户,这里是leo
  2. 切换到用户leo。生成SSH密钥
  3. SSH-密钥生成
  4. 将公钥附加到authorized_keys
  5. leo@c1a5f48a6c4c:~/.ssh$ pwd /home/leo/.ssh leo@c1a5f48a6c4c:~/.ssh$ cat id_rsa.pub >> authorized_keys leo@c1a5f48a6c4c:~/.ssh$ chmod g-w authorized_keys
  6. 复制私钥
  7. leo@c1a5f48a6c4c:~/.ssh$ cat id_rsa
  8. 将私钥保存到文件&#34; /var/lib/rundeck/node2.key"在rundeck主机上。现在身份验证还可以,并准备好从rundeck仪表板执行adhoc命令

答案 1 :(得分:0)

就我而言,我的私钥中有一个密码短语。确保您的私钥密码为空。

答案 2 :(得分:0)

文档到处都是,不同版本的关键字也不同,如果使用了错误的关键字,也不会发出警告。

相关文档在这里: https://docs.rundeck.com/2.11.3/plugins-user-guide/ssh-plugins.html

您需要指定:

ssh-authentication: privateKey

...并且:

ssh-keypath: /path/directly/to/.ssh/id_rsa

(假设您正在使用文件系统密钥存储。)

使用以下方法从密钥中删除密码短语:

ssh-keygen -p -m PEM -f /path/to/your/.ssh/id_rsa

...并且不要忘记确保id_rsa文件归rundeck所有并且具有适当限制的权限。