Ssh 在rundeck中添加远程节点

Ssh 在rundeck中添加远程节点,ssh,rundeck,Ssh,Rundeck,我希望能够使用Rundeck在远程节点上执行shell命令,我发现这解释了如何执行,但我不了解私钥部分以及如何配置它。我不断得到以下错误: 连接到节点的身份验证失败:“test-001”。确保你的 资源定义和凭据是最新的。失败: AuthenticationFailure:连接到节点的身份验证失败: “test-001”。确保资源定义和凭据已启动 迄今为止 我已设置了远程服务器,并按如下方式配置了resource.xml文件: <node name="test-001" descripti

我希望能够使用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服务器复制到主机服务器?

此外,用户名演示也有密码,因此如何定义它?

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用户名和私钥文件名。除此之外,您还可以更改所有其他命名参数,如节点名称和标记等

现在进入节点服务器

  • 创建一个ssh用户,这里是它的leo
  • 切换到用户leo。生成SSH密钥
  • ssh密钥生成
  • 将公钥附加到授权的\u密钥
  • leo@c1a5f48a6c4c:~/.ssh$pwd
    /home/leo/.ssh
    leo@c1a5f48a6c4c:~/.ssh$cat id\u rsa.pub>>授权密钥
    leo@c1a5f48a6c4c:~/.ssh$chmod g-w授权密钥
  • 复制私钥
  • leo@c1a5f48a6c4c:~/.ssh$cat id\u rsa

  • 将私钥保存到rundeck主机上的文件“/var/lib/rundeck/node2.key”。现在,身份验证已经就绪,可以从rundeck dashboard执行临时命令了。在我的情况下,我的私钥中有一个passpharse。确保您的私钥密码是空的。

    文档到处都是,不同的版本有不同的关键字,并且没有警告,以防您使用错误的密码

    相关文件如下:

    您需要指定:

    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所有,并且具有适当的权限限制。

    谢谢,它成功了!我还有一个问题,你们知道我是否可以在rundeck中并行和顺序地运行作业吗?例如,我有4份工作A、B、C和D。。B在A之后运行,而D在C之后运行,但D和A彼此独立,我们还有另一个作业E,它只在D和B完成后运行。因此,我需要构建一个工作流,通过触发a和C来模拟这种情况,如果a完成,那么我们可以从B开始,直到D完成,我们才开始E。嗨,leo,我尝试了上述步骤,但我得到以下错误:失败:SSHProtocolFailure:无效私钥:[B@417d5eca你能帮我一下吗?确保你运行的是最新的rundeck,附加在授权密钥上的公钥就是你拥有的一对私钥。除了rundeck,它是基于ssh密钥的身份验证的基础。