Ale*_*Grs 10 git ansible ansible-playbook
我正在尝试用Ansible编写部署规则.一些步骤是:
我想将存储库作为harry用户在其主目录中克隆(这就是我复制它的公钥和私钥的原因).问题是无法指定用户必须执行git clone.所以Ansible尝试以root身份克隆存储库并失败,因为他没有访问存储库的权限.
你是如何解决这个问题的?
Wil*_*ich 20
根据Ansible关于权限提升的文档,Ansible在成为无特权用户方面存在局限性,因为它向Harry公开了一个安全漏洞.
使用Ansible git模块,您可以指定使用key_file参数的特权Ansible用户使用Harry的私钥,并使用become_user允许克隆的文件被授予Harry的所有权.例如:
- name: Clone bitbucket repo
git:
repo: git@bitbucket.org:your-repo.git
dest: /var/www/
version: master
accept_hostkey: yes
key_file: /home/harry/.ssh/id_rsa
become_user: harry
Run Code Online (Sandbox Code Playgroud)
您可以为Playbook中的每个任务指定用户:
- name: Clone bitbucket repo
git: ...
become: yes
become_user: harry
Run Code Online (Sandbox Code Playgroud)
有关更多详细信息,请参阅Ansible Privilege Escalation.
将私钥放在远程服务器上的一种更安全的替代方法是在服务器上的sshd配置和本地ssh配置中启用ssh密钥转发.钥匙然后永远不会离开你的本地盒子.
| 归档时间: |
|
| 查看次数: |
20352 次 |
| 最近记录: |