首页 > 解决方案 > 无法使用 Ansible SSH 登录到新的虚拟机?

问题描述

我无法在新创建的 VM 上使用 Ansible 使用 ssh 登录。我得到以下错误

遥不可及!=> {"changed": false, "msg": "ssh 连接主机失败:@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\r\n@
警告:远程主机标识已更改!
@\r\n@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@\r\n有可能有人在做坏事!\r\n有人可能正在窃听你(中间人攻击)!\ r\n也可能是刚刚更改了主机密钥。\r\n远程主机发送的 ECDSA 密钥的指纹为\nSHA256:V48LPZh5wKQhWTF456KVN24LQLYOESAKmJgdKCe6Eho。\r\n请联系您的系统管理员。\r\n添加正确的主机键入 /home/naresh-openkey/.ssh/known_hosts 以消除此消息。\r\n在 /home/naresh-openkey/.ssh/known_hosts:128 中违反 ECDSA 键:128\r\n 删除:\r\ n ssh-keygen -f \"/home/naresh-openkey/.ssh/known_hosts\" -R 12.44.343.64\r\n禁用密码验证以避免中间人攻击。\r\n禁用键盘交互式身份验证以避免中间人攻击。\r\n权限被拒绝(公钥、密码)。", "unreachable": true}

我尝试了以下解决方案

我正在使用自定义inventory.yaml

标签: sshansiblessh-keysansible-inventory

解决方案


我的应用程序也遇到了同样的问题,我的密钥是否经常更改,并且我确信忽略主机密钥不会出现安全问题。

但请确保在开始忽略警告之前就是这种情况!

在您的自定义清单中添加以下变量:

[all:vars]
ansible_ssh_common_args: '-o UserKnownHostsFile=/dev/null'

这适用于您的自定义清单中的所有主机。如果正在使用特定的组,您也可以使用 groupname 代替 off all


推荐阅读