如何解决使用 ansible-vault 加密私钥连接到远程主机不起作用
如果我使用 ansible 命令模块,我可以通过 ssh 连接到远程服务器
例如
tasks:
- name: ssh to remote machine
command: ssh -i key ansible@172.16.2.2
然而,由于这将存储在 github 中,我使用 ansible-vault 加密了私有 ssh 密钥。
一旦我使用保险库解密密码 (--ask-vault-pass) 重新运行相同的命令,它将无法连接。就好像加密/解密没有返回相同的 ssh 密钥。
我在这里做错了什么?
解决方法
如果其他人遇到同样的问题,我的传奇同事找到了解决方案。
Ansible SSH private key in source control?
您需要先将加密的 ssh 私钥复制到另一个文件以对其进行解密,然后才能使用它,例如
- hosts: localhost
gather_facts: false
vars:
source_key: key
dest_key: key2
tasks:
- name: Install ssh key
copy:
src: "{{ source_key }}"
dest: "{{ dest_key }}"
mode: 0600
- name: scp over the cert and key to remote server
command: ssh -i key2 ec2-user@1.1.1.1
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。