繁体   English   中英

在 rundeck 中添加远程节点

[英]Add a remote node in rundeck

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

连接到节点的身份验证失败:“test-001”。 确保您的资源定义和凭据是最新的。 失败:AuthenticationFailure:连接到节点的身份验证失败:“test-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 服务器复制到主机服务器?
另外,用户名 demo 也有密码,那么我该如何定义呢?

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-keygen
  4. 将公钥附加到authorized_keys
  5. leo@c1a5f48a6c4c:~/.ssh$ pwd /home/leo/.ssh leo@c1a5f48a6c4c:~/.ssh$ cat id_rsa.pub >> authorized_keys leo@c1a5f48a6c4c:~/.ssh$ chmod gw authorized_keys
  6. 复制私钥
  7. leo@c1a5f48a6c4c:~/.ssh$ cat id_rsa

将私钥保存到 rundeck 主机上的文件“/var/lib/rundeck/node2.key”。 现在身份验证正常,可以从 rundeck 仪表板执行临时命令

文档随处可见,不同的版本有不同的关键字,如果您使用了错误的关键字,则不会有任何警告。

相关文档在这里: 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 所有并且具有适当限制的权限。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM