Vagrant 如何通过ansible将我的私钥添加到目标主机

Vagrant 如何通过ansible将我的私钥添加到目标主机,vagrant,ansible,devops,Vagrant,Ansible,Devops,我有一个来自/home/renz/.shh/id_rsa.pub的shh密钥。我想通过ansible将其添加到/root/.shh/authorized_key中的目标主机。我试过了,但没用 --- - hosts: snapzio tasks: - name: Set authorized key took from file authorized_key: user: master state: present key:

我有一个来自/home/renz/.shh/id_rsa.pub的shh密钥。我想通过ansible将其添加到/root/.shh/authorized_key中的目标主机。我试过了,但没用

---
- hosts: snapzio
  tasks:
    - name: Set authorized key took from file
      authorized_key:
        user: master
        state: present
        key: "{{ lookup('file', '/home/renz/.ssh/id_rsa.pub') }}"
        path: /root/.ssh/authorized_keys

因为首先,我无法与主机通信,因为我的密钥不在授权密钥中。我认为如果我想与许多主持人交流,这个想法是有道理的。与手动复制和粘贴密钥不同。

如其他人所述,如果您与Ansible一起使用的帐户没有安装SSH密钥,则您必须退回到使用密码身份验证。假设InstallMyKey.yml是您的剧本,您可以运行如下内容:

ansible-playbook InstallMyKey.yml --ask-become-pass 
您需要在
主机:
任务:
行之间的YML中添加
远程用户:root
行,然后键入root密码


假设playbook成功,并且根SSH设置中的所有其他设置都正确,则下一次运行playbook时应使用
renz
SSH密钥,无需密码即可继续运行。

如果无法使用公钥身份验证,则必须使用密码身份验证。我不明白这个问题是关于什么的。可能是重复的