# Ansible Inventory # 复制此文件为 inventory/hosts.yml 并填入实际的服务器信息 # 该文件已被 .gitignore 排除,不会进入版本控制 all: children: # ============================================================ # servers: 所有受管服务器的父组 # base role 会在此组的所有主机上运行 # ============================================================ servers: hosts: # -------------------- server1 -------------------- server1: # ansible_host: 服务器的公网 IP 地址或域名 # Ansible 将通过此地址 SSH 连接到服务器 ansible_host: 1.2.3.4 # ansible_user: SSH 登录用户名 # 可以是 root,也可以是具有 sudo 权限的普通用户(如 ubuntu, debian) # 如果为非 root 用户,请确保该用户已配置 sudo 免密 ansible_user: root # ansible_port: SSH 连接端口(Ansible 原生变量) # 默认 22,如果服务器使用非标准 SSH 端口则修改此项 ansible_port: 22 # ssh_port: 服务器实际运行的 SSH 端口(本项目自定义变量) # base role 会根据此值配置 sshd 和 UFW 防火墙 # 若省略,则默认使用 ansible_port 的值 ssh_port: 22 # ansible_ssh_private_key_file: SSH 私钥路径 # 指定用于连接该服务器的 SSH 私钥文件 # 如果省略,将使用 ssh-agent 或默认的 ~/.ssh/id_rsa # ansible_ssh_private_key_file: ~/.ssh/my_server_key # -------------------- server2 -------------------- server2: ansible_host: 5.6.7.8 ansible_user: ubuntu ansible_port: 22 ssh_port: 22 # ============================================================ # snell: 需要部署 Snell 服务的服务器组 # 通过 children.servers 继承 servers 组中的所有主机 # 也可以单独列出特定主机,只在这些主机上部署 Snell # ============================================================ snell: children: servers: # 示例:只在特定子集上部署 Snell # hosts: # server1: # ============================================================ # trojan: 需要部署 Trojan 服务的服务器组 # 通过 children.servers 继承 servers 组中的所有主机 # 也可以单独列出特定主机 # ============================================================ trojan: children: servers: # 示例:只在特定子集上部署 Trojan # hosts: # server1: # ================================================================ # 字段速查表 # ================================================================ # # ansible_host 必填 服务器 IP 或域名,Ansible 实际连接的地址 # ansible_user 必填 SSH 登录用户名 # ansible_port 可选 SSH 连接端口(默认 22) # ssh_port 可选 服务器 sshd 实际监听端口(默认取 ansible_port) # ansible_ssh_private_key_file 可选 SSH 私钥路径 # ansible_ssh_extra_args 可选 额外的 SSH 参数 # # ================================================================ # 组说明 # ================================================================ # # servers base role 的目标组,所有服务器必须在此组中 # snell snell role 的目标组,继承 servers 或单独定义 # trojan trojan role 的目标组,继承 servers 或单独定义 # # 注意:一台服务器可以同时属于 snell 和 trojan 组, # 此时该服务器会同时部署两种服务。