首页 > 解决方案 > 无法使用 authorized_keys ansible 模块进行无密码通信

问题描述

我在我的 ansible 主机上生成自定义密钥对。

我将自定义私钥提供给所有目标主机,并使用authorized_key模块为他们提供自定义 ansible 主机公钥,因此我们不必手动设置 ssh 密钥进行通信。

以下是我所做的,它运行没有任何错误,但是由于某种原因它不起作用并提示我输入远程用户密码。

- name: Configure nodes
  hosts: dest_nodes
    ansible_ssh_private_key_file: /app/dk_keys/dk_id_rsa
  gather_facts: false
  tasks:

   - name: Deploy SSH Key
     authorized_key: user=provision
                     key="{{ lookup('file', '/app/dk_keys/dk_id_rsa.pub') }}"
                     state=present

我去了目标(dest_nodes)~/.ssh/authorized_keys文件,它仍然是空的,即没有用自定义公钥更新/app/dk_keys/dk_id_rsa.pub

当我手动添加/app/dk_keys/dk_id_rsa.pubauthorized_keys目标服务器时,这当然可以正常工作。但是,我不希望手动执行此操作。

我正在使用最新版本的 Ansible。

我对这应该如何工作的理解是不正确的,还是我的代码有问题或缺少什么?

标签: ansiblessh-keys

解决方案


推荐阅读