我在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.pub
添加到目标服务器的authorized_keys
时,这当然可以正常工作。但是,我不希望手动执行此操作。
我正在使用最新版本的Ansible。
我是否理解此操作方式不正确,或者我的代码是否存在问题或缺失?