簡體   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