Estou tentando descobrir como configurar as credenciais SSH separadamente para um ambiente de produção e armazenamento temporário com o Ansible. Entendo que você pode configurar os endereços IP e os nomes de host do servidor separadamente, usando diferentes arquivos de inventário, passando o argumento -i
ou --inventory-file
para o ansible-playbook
comando No entanto, não vejo essa opção para ansible.cfg
. Atualmente, as credenciais vivem /etc/ansible/ansible.cfg
como:
[defaults]
private_key_file=/home/caleb/.ssh/staging_key.pem
remote_user=ubuntu
sudo_user=root
gathering=explicit
Como posso configurar várias credenciais SSH, uma para produção e outra para preparação?
.ssh/config
?Respostas:
Parece que minha primeira resposta não estava totalmente correta. Embora, é claro, seja possível resolvê-lo
.ssh/config
como descrito abaixo, também parece possível com os Parâmetros de inventário comportamental dos Ansibles .Você deve (de acordo com a documentação) definir o arquivo de chave e o usuário em seu inventário, por host ou por grupo.
Definição por grupo:
Definição por host:
Mas você pode definir vários grupos de hosts já existentes no seu
.ssh/config
e cada grupo pode ter suas configurações separadas em relação à chave e ao usuário.Aqui está um exemplo rápido
Também é possível definir um padrão e substituí-lo posteriormente com configurações mais detalhadas.
fonte