Ansible要求验证ssh指纹,无法ssh到新创建的ec2实例中
我正在创建ec2实例并使用ansible脚本配置它们。我用过Ansible要求验证ssh指纹,无法ssh到新创建的ec2实例中,ssh,amazon-ec2,ansible,Ssh,Amazon Ec2,Ansible,我正在创建ec2实例并使用ansible脚本配置它们。我用过 [ssh_connection] pipelining=true 在我的ansible.cfg文件中,但它仍然要求验证ssh指纹,当我键入yes并按enter键时,它无法登录到实例。 只是想让你们知道我使用的是ansible动态资源清册,因此我不会在主机文件中存储IP或dns。 任何帮助都将不胜感激 TIA我想你可以在这里找到答案: 基本上,运行ansible playbook时,需要使用以下参数: ANSIBLE_HOST_KEY
[ssh_connection]
pipelining=true
在我的ansible.cfg文件中,但它仍然要求验证ssh指纹,当我键入yes并按enter键时,它无法登录到实例。
只是想让你们知道我使用的是ansible动态资源清册,因此我不会在主机文件中存储IP或dns。
任何帮助都将不胜感激
TIA我想你可以在这里找到答案: 基本上,运行ansible playbook时,需要使用以下参数:
ANSIBLE_HOST_KEY_CHECKING=False
确保添加了私钥(ssh添加私钥) 管道对身份验证没有任何影响-它将单个模块调用捆绑到一个更大的文件中,以便在建立连接后进行传输 为了不停止执行并提示您接受SSH密钥,您需要禁用严格的主机密钥检查,而不是启用管道 您可以通过导出
ANSIBLE\u HOST\u KEY\u CHECKING=False
或在ANSIBLE.cfg中将其设置为:
[默认值]
主机密钥检查=错误
后者可能更适合您的用例,因为它是持久的
请注意,尽管这是一个处理ssh连接的设置,但它位于[defaults]
部分,而不是[ssh\u connection]
部分
==
当您键入yes
时,您无法登录,这似乎不是您唯一的问题,但您没有提供足够的信息来解决其余问题
如果禁用主机密钥检查后仍存在连接问题,请编辑问题以手动将SSHing的输出添加到实例中,同时添加ansible play的输出,使用-vvv
进行详细输出
故障排除时要查看的第一步:
- 我连接和Ansible连接的区别是什么
- 对于ec2实例,
是否设置为正确的用户ansible\u ssh\u用户
ansible\u ssh\u private\u key\u文件是否与创建实例时分配给实例的密钥对的私有部分相同
- 生成动态资源清册的对象是否正确设置了
ansible\u ssh\u主机