2015-02-17 4 views
10

У меня есть файл конфигурации пользовательских SSH, которые я обычно использую следующиеанзибль Использование пользовательских SSH конфигурации Файл

ssh -F ~/.ssh/client_1_config amazon-server-01 

Можно ли назначить анзибль использовать этот конфиг для определенных групп? У него уже установлены ключи и порты и пользователи. У меня такая конфигурация для нескольких клиентов, и я хотел бы сохранить конфигурацию отдельно, если это возможно.

ответ

10

Не совсем возможно. Вы можете задать аргументы SSH в ansible.cfg:

[ssh_connection] 
ssh_args = -F ~/.ssh/client_1_config amazon-server-01 

К сожалению, не представляется возможным определить это в группе, инвентаризации или что-либо другое конкретное.

+0

Можно ли передать это как аргумент командной строки? –

+0

@SakisVtdk AFAIK No – udondan

+0

@SakisVtdk Можно указать переменную среды ANSIBLE_CONFIG, чтобы указать на файл конфигурации Ansible. – simon

5

С анзиблем 2, вы можете установить ProxyCommand из переменной ansible_ssh_common_args инвентаризации. Любые аргументы, указанные в этой переменной, добавляются в командную строку sftp/scp/ssh при подключении к соответствующим хостам. Рассмотрим следующую группу инвентаризации:

[gatewayed] 
foo ansible_host=192.0.2.1 
bar ansible_host=192.0.2.2 

Вы можете создать group_vars/gatewayed.yml со следующим содержанием:

ansible_ssh_common_args: '-o ProxyCommand="ssh -W %h:%p -q [email protected]"' 

и сделать трюк ...

Вы можете найти далее информация в: http://docs.ansible.com/ansible/faq.html

Смежные вопросы