如何解决Ansible - 如何在游戏过程中重新生成主机 ssh_host_keys 而不会失去连接
我想用 ansible 设置新映像的 Raspberry Pi。为此,我有添加用户、ssh 密钥和配置的任务。但是当我到了要重新生成默认 ssh_host_*_keys 的步骤时,我失去了连接。
我已经尝试了 2 种方式。 第一,删除所有密钥并重新启动主机。在这种情况下,主机会在启动时重新生成密钥。我所要做的就是等待,但这不起作用。
- name: SSH | Delete ssh host keys
file:
path: '{{ item }}'
state: absent
with_items:
- /etc/ssh/ssh_host_ecdsa_key
- /etc/ssh/ssh_host_rsa_key
- /etc/ssh/ssh_host_ecdsa_key.pub
- /etc/ssh/ssh_host_ed25519_key
- /etc/ssh/ssh_host_rsa_key.pub
- /etc/ssh/ssh_host_ed25519_key.pub
- /etc/ssh/ssh_host_dsa_key
- /etc/ssh/ssh_host_dsa_key.pub
when: ansible_lsb.id == "Raspbian"
notify: wait-for-reboot
这给了我以下错误
TASK [../roles/os : SSH | Delete ssh host keys] *******
ok: [raspi4] => (item=/etc/ssh/ssh_host_ecdsa_key)
changed: [raspi4] => (item=/etc/ssh/ssh_host_rsa_key)
changed: [raspi4] => (item=/etc/ssh/ssh_host_ecdsa_key.pub)
fatal: [raspi4]: FAILED! => {"msg": "Failed to connect to the host via ssh: Connection reset by 192.168.100.12 port 22"}
我的第二次尝试:
- name: SSH | Generate ECDSA Host Key
openssh_keypair:
path: /etc/ssh/ssh_host_ecdsa_key
owner: root
state: present
type: ecdsa
size: 521
regenerate: full_idempotence
force: no
结果:
TASK [../roles/os : SSH | Generate ECDSA Host Key] ******************************
fatal: [raspi4]: FAILED! => {"msg": "Failed to connect to the host via ssh: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\r\n@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @\r\n@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\r\nIT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
编辑: 我的 ansible.cfg 中已经有“host_key_checking = False”。这是第一次连接到主机时需要的。否则,我将不得不通过 ssh 连接手动将其添加到我的 known_hosts 中。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。