【问题标题】:connecting to a remote host with ansible-vault encrypted private key does not work使用 ansible-vault 加密私钥连接到远程主机不起作用
【发布时间】: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 密钥。 我在这里做错了什么?

【问题讨论】:

    标签: ansible ssh-keys ansible-vault


    【解决方案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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-05-20
      • 2016-04-04
      • 1970-01-01
      • 1970-01-01
      • 2016-02-13
      • 1970-01-01
      • 2019-06-27
      • 1970-01-01
      相关资源
      最近更新 更多