hosts.yml repeated the same authentication block for 13 LXC hosts and carried 13 byte-identical copies of the ru-vps ProxyCommand. Describe the transport once in ansible/ssh_config instead: jump host, per-host users, keys, and the fact that pbs and ovpn-mini are reached directly rather than through ru-vps. Ansible loads that file through ansible_ssh_common_args in group_vars/all/main.yml, where the path is derived from inventory_dir so it depends on neither the current directory nor the clone location. The same file makes `ssh gitea` work from a plain terminal once ~/.ssh/config includes it. hosts.yml drops from 209 to 137 lines and now holds only addresses and per-host facts. Verified equivalent: ansible-inventory --list before and after differ only by the removed ansible_ssh_common_args, with group membership and ordering byte-identical. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GTocXkGUUazHdKKd3r9k71
13 lines
606 B
INI
13 lines
606 B
INI
[defaults]
|
|
inventory = inventory/hosts.yml
|
|
roles_path = roles
|
|
collections_path = collections
|
|
retry_files_enabled = false
|
|
|
|
[ssh_connection]
|
|
pipelining = true
|
|
# Транспорт (ProxyJump, порты, пользователи, ключи) описан в ansible/ssh_config.
|
|
# Он подключается через ansible_ssh_common_args в group_vars/all/main.yml,
|
|
# где путь вычисляется от inventory_dir и потому не зависит ни от cwd, ни от места клона.
|
|
ssh_args = -o ControlMaster=auto -o ControlPersist=60s -o StrictHostKeyChecking=accept-new
|