我尝试使用不使用默认 ssh 端口的 ansible ping 主机,但我没有成功

I a trying to ping a host using ansible which does not use default ssh port but I am not successful

这是我的主机文件

ansible_host=XX.XXX.xx.x ansible_port=9301

[all:vars]
ansible_python_interpreter=/usr/bin/python3

我的命令是:ansible all -i hosts -m ping

我不断得到:

ansible_host=xx.xxx.xxx.xx | UNREACHABLE! => { "changed": false, "msg": "Failed to connect to the host via ssh: ssh: Could not resolve hostname ansible_host=xx.xxx.xxx.xx: Name or service not known", "unreachable": true }

仅根据您发布的内容,您似乎遗漏了库存主机名;所有这些 key=value 对,例如 ansible_host= 部分,都用于将 hostvars 分配给 existing 清单主机名。您需要这样的清单文件:

my-awesome-host ansible_host=XX.XXX.xx.x ansible_port=9301

以后,您可以通过ansible-inventory命令确认ansible对您库存的看法:

ansible-inventory -i ./your-inventory-file.ini --list