将 host_key_checking 设置为 false 的 Ansible 失败,并显示“主机密钥验证失败”。

将 host_key_checking 设置为 false 的 Ansible 失败,并显示“主机密钥验证失败”。

在我的ansible.cfg我有

[defaults]
host_key_checking = False

然而我的 ansible git 游戏在git clone --bare.

"msg": "主机密钥验证失败。\r\n致命: 无法从远程存储库读取。\n\n请确保您拥有正确的访问权限\n并且存储库存在。"

答案1

这需要特殊选项git 模块命名accept_hostkey

  • ansible.cfg 中的选项控制控制器节点是否需要有效的主机密钥进行连接。
  • 在您正在配置的计算机上,您也必须告诉它它不需要有效的主机密钥。你可以通过以下方式做到这一点

    • ~/.ssh/config在远程主机上设置StrictHostKeyChecking no
    • 或者通过在使用 ssh 的模块中设置一个选项,告诉它禁用主机密钥检查

答案2

另一种选择是使用 GIT_SSH_COMMAND

---
- name: Clone a Git repository with host key checking disabled
  hosts: your_target_host
  environment:
    GIT_SSH_COMMAND: 'ssh -o StrictHostKeyChecking=no'

 tasks:
    - name: Ensure the target directory exists
      file:
        path: /path/to/your/target_directory
        state: directory

    - name: Clone the Git repository with host key checking disabled
      git:
        repo: https://github.com/example/repo.git   
        dest: /path/to/your/target_directory

相关内容