Я пытаюсь выяснить, как настроить учетные данные SSH отдельно для рабочей и промежуточной среды с помощью Ansible. Я понимаю, что вы можете настроить IP-адреса сервера и имена хостов отдельно, используя различные файлы инвентаризации, передав аргумент -i
or --inventory-file
в ansible-playbook
команду. Однако я не вижу такой возможности для ansible.cfg
. В настоящее время учетные данные живут /etc/ansible/ansible.cfg
как:
[defaults]
private_key_file=/home/caleb/.ssh/staging_key.pem
remote_user=ubuntu
sudo_user=root
gathering=explicit
Как я могу настроить несколько учетных данных SSH, один для производства и один для подготовки?
.ssh/config
?Ответы:
Похоже, мой первый ответ был не совсем верным. Хотя, конечно, это можно решить,
.ssh/config
как описано ниже, это также возможно с помощью параметров инвентаризации поведения Ansibles .Вы должны (в соответствии с документами) иметь возможность определить ключевой файл и пользователя в вашем инвентаре, либо для хоста, либо для группы.
Определение для группы:
Определение на хост:
Но вы можете определить несколько групп хостов уже в вашей,
.ssh/config
и каждая группа может иметь свои отдельные настройки, касающиеся ключа и пользователя.Вот быстрый пример
Также вы можете определить значение по умолчанию и переопределить его позже с более подробными настройками.
источник