You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Ansible YAML清单文件中正确指定localhost?

解决Ansible本地清单SSH错误问题

正确的本地清单配置

你第一种清单写法本身是有效的,核心是必须通过ansible_connection: local让Ansible跳过SSH直接执行本地操作:

all:
  hosts:
    localhost:
      ansible_connection: local

关键注意事项

  1. 执行命令必须指定清单文件
    如果你执行Ansible命令时没通过-i参数指定这个自定义清单,Ansible会加载默认清单(比如/etc/ansible/hosts),而默认清单里的localhost通常未配置本地连接参数,因此会触发SSH连接错误。示例执行命令:

    ansible all -i your_inventory.yml -m ping
    
  2. 简化清单的补全方案
    若想用第二种简化写法,需要补充全局变量或配置来指定连接方式:

    • 给清单添加全局变量:
      all:
        hosts:
          localhost:
        vars:
          ansible_connection: local
      
    • 或在ansible.cfg中配置默认本地连接:
      [defaults]
      inventory = ./your_inventory.yml
      [connection]
      ansible_connection = local
      

排查步骤

如果仍出现SSH错误,先确认清单配置是否被正确加载:

ansible-inventory -i your_inventory.yml --list

查看输出中localhost的变量列表,确认是否包含ansible_connection: local。如果没有,说明清单路径指定错误,或者配置被ANSIBLE_INVENTORY等环境变量覆盖。

内容的提问来源于stack exchange,提问作者iamsimonsmale

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 09:52:05