Git

Git 使用 ansible 和 jenkins 從 bitbucket 中拉取

  • August 15, 2018

大家好,我是 ansible 的新手,我正在使用 Ubuntu 16.04 和 ansible 2.2,如何使用 ansible 將 bitbucket 儲存庫拉到遠端伺服器?我已連接到主機並能夠使用我的 ansible 對遠端伺服器執行 ping 或執行簡單命令,我嘗試過這種方法在遠端伺服器上複製私有 repo,但出現此錯誤:

“stderr”: “正在複製到 ‘/home/deploy/test’…\n權限被拒絕(公鑰)。\r\n致命:無法從遠端儲存庫讀取。\n\n請確保您具有正確的訪問權限\ nand 儲存庫存在。\n”,

我需要從 bitbucket 生成 ssh 密鑰還是將我的公鑰插入 bitbucket?就像我之前說的,我很新,這很緊急,謝謝。

最好的解決方案是在您的工作站中生成一個密鑰對,將公鑰上傳到 bitbucket,然後將私鑰複製給您在目標伺服器中執行 git clone 的使用者。使用該解決方案,您可以自動部署到多個伺服器,而無需在每個伺服器中生成新的密鑰對。

key_file您可以使用Ansible git 模組中的選項指定密鑰文件

一般來說,使用私鑰不被認為是安全的,因為如果目標伺服器被黑客入侵,這個密鑰就會暴露出來。安全的替代方法是使用來自 ansible 實例的 ssh 代理轉發。這樣,只有 ansible 密鑰需要向 bitbucket 註冊,並且它永遠不會暴露在目標主機上。看看這篇文章:https ://www.jeffgeerling.com/blog/2018/cloning-private-github-repositories-ansible-on-remote-server-through-ssh 如果您想知道如何添加 ssh 密鑰到 ssh 代理:https ://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/

引用自:https://serverfault.com/questions/870748