【问题标题】:Rundeck job failing with "error: PAM: Authentication failed"Rundeck 作业因“错误:PAM:身份验证失败”而失败
【发布时间】:2020-03-15 01:03:33
【问题描述】:

我在尝试以非 root 用户身份运行 Rundeck 作业时遇到此错误,但公钥已添加到相应主目录中用户的 authorized_keys

注意:相同的密钥集在其他服务器上以非 root 用户身份执行作业时可以正常工作

SSH_MSG_KEXDH_INIT 已发送 期待 SSH_MSG_KEXDH_REPLY ssh_rsa_verify:签名为真 将 '' (RSA) 永久添加到已知主机列表中。 SSH_MSG_NEWKEYS 已发送 收到 SSH_MSG_NEWKEYS SSH_MSG_SERVICE_REQUEST 已发送 收到 SSH_MSG_SERVICE_ACCEPT 可以继续的身份验证:公钥、密码、键盘交互 下一个认证方法:publickey 可以继续的身份验证:密码、键盘交互 下一个认证方式:密码 可以继续的身份验证:键盘交互 下一个身份验证方法:键盘交互 登录试用次数超过 1 从端口 22 断开连接 SSH 命令执行错误:AuthenticationFailure:连接到节点的身份验证失败:“targetnode”。确保您的资源定义和凭据是最新的。 失败:AuthenticationFailure:连接到节点的身份验证失败:“targetnode”。确保您的资源定义和凭据是最新的。 [工作流程] finishExecuteNodeStep(targetnode):NodeDispatch:AuthenticationFailure:连接到节点的身份验证失败:“targetnode”。确保您的资源定义和凭据是最新的。

以下是目标节点上 /var/log/debug 的快照

11 月 19 日 11:42:08 targetnode sshd[17870]:[ID 800047 auth.error] 错误:PAM:来自 rundeck_host 的非 root 用户身份验证失败 11 月 19 日 11:42:08 targetnode sshd[17870]: [ID 800047 auth.error] 错误:从 rundeck_host 端口 58894:3 收到断开连接:com.jcraft.jsch.JSchException: Auth cancel [preauth] 11 月 19 日 11:42:08 targetnode sshd[17870]: [ID 800047 auth.info] 与验证用户非 rootuser rundeck_host 端口 58894 [preauth] 断开连接

你能帮助/指导我在这里缺少什么吗?

【问题讨论】:

  • 可能重复。检查这个:stackoverflow.com/a/36262262/10426011
  • 不,那个帖子对我没有帮助。
  • 它能够建立连接,并且它正在查看正确的密钥位置.. 使用 ssh 密钥存储路径:keys/tdn/stag/tdn_stag_rundeck.key 启动 SSH 连接:非 rootuser@ targetnode 使用存储的私钥数据。将超时设置为 0 连接到 targetnode:22 连接到 targetnode 端口 22 连接已建立
  • 问题已修复,权限对齐后如下 .ssh 目录:700 (drwx------) 公钥(.pub 文件):644 (-rw-r--r- -) private key (id_rsa): 600 (-rw-------) 最后你的主目录不应该被组或其他人写入(最多 755 (drwxr-xr-x))。
  • 惊人的查理!请发布您的解决方案作为答案:-)

标签: authentication public-key rundeck


【解决方案1】:

关于您尝试或未尝试的内容的详细信息不足,因此我将提供一些有关 rundeck ssh 工作原理的背景知识。 rundeck 正在使用 rundeck 用户。 要 ssh 远程服务器,它将使用 rundeck 用户,除非另有说明(在资源文件中)。 无论哪种方式,您都需要将 rundeck 的公钥复制到 authorized_keys。 如果您使用默认的 rundeck 用户,则需要远程主机上的 rundeck 用户,并将 rundeck 的 pub 密钥复制到远程主机的 rundeck 主目录下的 authorized_keys。 如果您使用其他用户进行 ssh(即 ssh User1@remoteHost),则需要将 rundeck 的 pub 密钥复制到 remoteHost 中 User1 主目录下的授权密钥。

希望对您有所帮助。

【讨论】:

  • 您提到的所有内容都已完成...问题在于“非 rundeck”用户的主目录...它应该是 755,而它是 777 而 rundeck 不是没关系。一旦该主目录上的权限更改为 755,来自 Rundeck 的部署就会进行!感谢您的投入!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多