我一直試圖讓Ansible配置遠程機器,並且我希望遠程機器使用自己的密鑰進行設置,並且能夠克隆來自Bitbucket的git存儲庫。如何在安全的git模塊中使用遠程機器的SSH密鑰
用戶已設置,擁有自己的id_rsa.pub,並且密鑰已通過bitbucket註冊。
但是,當我使用Ansible Git模塊時,它看起來像模塊總是嘗試使用運行劇本的機器上的密鑰。
如何讓git模塊使用來自遠程機器的id_rsa.pub?
相關的任務是這樣的:
- name: be sure prom-king has an up-to-date clone of its own repository
git:
repo: "ssh://[email protected]/prom-king.git"
dest: /home/promking/prom-king
accept_hostkey: yes
clone: yes
key_file: /home/promking/.ssh/id_rsa.pub
update: yes
相關的清單是這個
# inventory file for use with the vagrant box in the testing directory.
[prom-king]
192.168.168.192 ansible_ssh_host=127.0.0.1 ansible_sudo=true ansible_connection=ssh ansible_ssh_port=2222 ansible_ssh_user=vagrant ansible_ssh_private_key_file=testing/.vagrant/machines/default/virtualbox/private_key
忘了提...我能得到克隆一起工作https(但需要URL中的密碼,我想避免),並且在檢索到該克隆時,這些文件全部由遠程計算機上的根擁有 - 這也不是期望的。 – jschank
粘貼到您正在使用的手冊中。當它在遠程計算機上運行時,它可能就是git提示將bitbucket添加到known_hosts(yes/no)提示符,它在第一次在新計算機上第一次運行時會執行的操作 – Zasz
您如何知道git使用密鑰從你的playbook機器?除非您明確在127.0.0.1上運行或將其標記爲local_action或使用委派,否則所有可用的模塊都將在遠程計算機上運行。 – Zasz