繁体   English   中英

来自 jenkins 用户的 Ansible 剧本

[英]Ansible playbook via jenkins user

我正在尝试从 jenkins 调用我的 Ansible 剧本。 但是每次我这样做时,我都会因公钥错误而被拒绝。 我的目标是将剧本从本地机器推送到 GC VM。

事实:

  1. Ansible 和 jenkins 安装在同一台机器上
  2. 我的 GC VM 实例密钥位于 /home/govind/Desktop/slukinstancekey.pem 路径中。 这是我的主要用户(“govind”)。
  3. 在 jenkins 中,我使用 ssh-keygen 生成了一个 RSA 密钥,并在用户“govind”.ssh/authorized_keys 中添加了相同的密钥。 所以我能够建立从 jenkins 用户到 govind 用户(安装 ansible 的地方)的连接。

问题是每当我从 jenkins 用户运行剧本时,就会抛出以下错误:

任务 [收集事实] ************************************************* ****************************************************** ************************ 致命:[34.71.8.168]:无法访问! => {"changed": false, "msg": "无法通过 ssh 连接到主机:加载密钥 "/home/govind/Desktop/splunkinstancekey.pem": 权限被拒绝\\r\\nubuntu@34.71.8.168: 权限拒绝(公钥)。”,“无法访问”:true} 致命:[35.223.166.86]:无法访问! => {"changed": false, "msg": "无法通过 ssh 连接到主机:加载密钥 "/home/govind/Desktop/splunkinstancekey.pem": 权限被拒绝\\r\\nubuntu@35.223.166.86: 权限拒绝(公钥)。”,“无法访问”:true}

从用户“govind”,我可以通过 ansible 命令轻松地 ping 远程服务器。 任何人都可以帮助我了解我可能与 jenkins 用户遗漏的差距。 我知道 jenkins 无法访问 pem 文件,因为它不属于它。 从其他各种帖子中,我读到 jenkins 在安装 ansible 的地方与用户建立连接,然后执行该剧本。 但无法取得任何进展。

似乎您应该从 ssh 故障排除的角度来解决这个问题。 听起来您正在尝试从 jenkins 盒 ssh 到 govind 盒。 所以,有了你生成的密钥对,你需要将公钥放在ubuntu用户下的govind框上的authorized_keys下。 即- 因为在您的错误中,您以 ubuntu 用户ubuntu@34.71.8.168 - ubuntu@34.71.8.168 然后,您应该能够以ubuntu用户的身份从 jenkins 框 ssh 到 govind 框,就像您试图做的那样。

暂无
暂无

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

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