我有一个来自/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
因为首先,我无法与主机通信,因为我的密钥不在授权密钥中。如果我想与许多主机沟通,我认为这个想法是有道理的。而不是仅手动复制和粘贴密钥。
答案 0 :(得分:0)
正如其他人所提到的,如果您使用Ansible的帐户没有安装SSH密钥,您将不得不回到使用密码身份验证。假设InstallMyKey.yml是你的剧本,你可以运行这样的东西:
ansible-playbook InstallMyKey.yml --ask-become-pass
您需要在remote_user: root
和hosts:
行之间向YML添加tasks:
行,然后输入root密码。
假设播放本已成功并且根SSH设置中的其他所有内容都正确无误,则您下次运行的剧本应使用renz
ssh键并在没有密码的情况下继续播放。