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

时间:2017-06-06 09:51:51

标签: vagrant ansible devops

我有一个来自/home/renz/.shh/id_rsa.pub的shh键。我想通过ansible将其添加到/root/.shh/authorized_keys中的目标主机。我尝试了这个但是没有用。

---
- 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

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

1 个答案:

答案 0 :(得分:0)

正如其他人所提到的,如果您使用Ansible的帐户没有安装SSH密钥,您将不得不回到使用密码身份验证。假设InstallMyKey.yml是你的剧本,你可以运行这样的东西:

ansible-playbook InstallMyKey.yml --ask-become-pass 

您需要在remote_user: roothosts:行之间向YML添加tasks:行,然后输入root密码。

假设播放本已成功并且根SSH设置中的其他所有内容都正确无误,则您下次运行的剧本应使用renz ssh键并在没有密码的情况下继续播放。

相关问题