You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过CLI/REST将账号密码上传至Rundeck密钥存储替代密钥运行节点作业

实现Rundeck用户名密码认证执行节点作业的操作步骤

1 前置校验

确保目标节点的SSH服务已开启密码登录权限,即sshd配置中PasswordAuthentication参数为yes。

2 将用户名、密码上传至Rundeck密钥存储

你可以选择CLI或者REST接口两种方式上传,推荐将用户名、密码分别存储到密钥存储的独立路径,比如用户名存到keys/ssh/node-login-user,密码存到keys/ssh/node-login-pass。

2.1 通过CLI上传

首先确保你已安装Rundeck官方CLI工具rd,并提前配置好环境变量:

export RD_URL=http://你的Rundeck服务地址
export RD_TOKEN=你的Rundeck授权令牌
export RD_PROJECT=目标项目名

执行以下命令完成上传:

  • 上传用户名
    rd keys create --path keys/ssh/node-login-user --type password --content "你的节点登录用户名"
  • 上传密码
    rd keys create --path keys/ssh/node-login-pass --type password --content "你的节点登录密码"
    如果对应路径已存在密钥,可在命令末尾添加--force参数覆盖原有内容。

2.2 通过REST接口上传

直接调用Rundeck存储接口即可完成上传,通用curl示例如下:

  • 上传用户名
curl -X POST \
  "${RD_URL}/api/41/storage/keys/ssh/node-login-user" \
  -H "X-Rundeck-Auth-Token: ${RD_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{"content":"你的节点登录用户名","meta":{"Rundeck-content-type":"password"}}'
  • 上传密码
curl -X POST \
  "${RD_URL}/api/41/storage/keys/ssh/node-login-pass" \
  -H "X-Rundeck-Auth-Token: ${RD_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{"content":"你的节点登录密码","meta":{"Rundeck-content-type":"password"}}'

接口路径中的41为API版本号,可替换为你当前Rundeck版本对应的API版本。

3 配置节点使用密码认证

3.1 资源模型配置(推荐)

在项目的节点资源模型yaml文件中,给对应节点添加以下属性:

your-node-name:
  hostname: 节点IP地址
  osFamily: linux
  node-executor: jsch-ssh
  file-copier: jsch-scp
  ssh-authentication: password
  username: ${keys/ssh/node-login-user}
  ssh-password-storage-path: keys/ssh/node-login-pass

配置完成后重新加载节点资源即可生效。

3.2 作业维度全局配置

如果仅需特定作业使用密码认证,无需修改节点配置,可以直接在作业编辑页的「节点设置」板块,将SSH认证方式修改为密码,再对应填写密钥存储路径即可。

4 验证

配置完成后运行测试作业,执行whoami等简单命令,确认节点可正常执行作业即可。

内容的提问来源于stack exchange,提问作者mmg

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 06:45:05