使用 ansible-vault 加密私钥连接到远程主机不起作用
Posted
技术标签:
【中文标题】使用 ansible-vault 加密私钥连接到远程主机不起作用【英文标题】:connecting to a remote host with ansible-vault encrypted private key does not work 【发布时间】:2021-08-12 18:41:24 【问题描述】:如果我使用 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 密钥。 我在这里做错了什么?
【问题讨论】:
【参考方案1】:如果其他人遇到同样的问题,我的传奇同事找到了解决方案。
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
【讨论】:
以上是关于使用 ansible-vault 加密私钥连接到远程主机不起作用的主要内容,如果未能解决你的问题,请参考以下文章
使用 SSH 公钥/私钥连接到 sFTP 服务器。错误 Invalid private key file. 使用 SSH.NET