problema ans_esthos conhecidos do prompt ssh
Estou executando o Ansible playbook e funciona bem em uma máquina.
Numa máquina nova, quando tento pela primeira vez, obtenho o seguinte erro.
17:04:34 PLAY [appservers] *************************************************************
17:04:34
17:04:34 GATHERING FACTS ***************************************************************
17:04:34 fatal: [server02.cit.product-ref.dev] => {'msg': "FAILED: (22, 'Invalid argument')", 'failed': True}
17:04:34 fatal: [server01.cit.product-ref.dev] => {'msg': "FAILED: (22, 'Invalid argument')", 'failed': True}
17:04:34
17:04:34 TASK: [common | remove old ansible-tmp-*] *************************************
17:04:34 FATAL: no hosts matched or all hosts have already failed -- aborting
17:04:34
17:04:34
17:04:34 PLAY RECAP ********************************************************************
17:04:34 to retry, use: --limit @/var/lib/jenkins/site.retry
17:04:34
17:04:34 server01.cit.product-ref.dev : ok=0 changed=0 unreachable=1 failed=0
17:04:34 server02.cit.product-ref.dev : ok=0 changed=0 unreachable=1 failed=0
17:04:34
17:04:34 Build step 'Execute shell' marked build as failure
17:04:34 Finished: FAILURE
Este erro pode ser resolvido se eu for primeiro para a máquina de origem (de onde estou executando o manual ansible) e manualmente ssh para a máquina de destino (como o usuário especificado) e digitar "yes" para a entrada do arquivo known_hosts.
Agora, se eu executar o mesmo manual ansible pela segunda vez, ele funcionará sem erros.
Portanto, como posso suprimir o prompt que o SSH fornece ao fazer a entrada ssh known_hosts pela primeira vez para um determinado usuário (pasta ~ / .ssh, arquivo known_hosts)?
Descobri que posso fazer isso se usar as seguintes entradas de configuração em~ / .ssh / config Arquivo.
~ / .ssh / config
# For vapp virtual machines
Host *
StrictHostKeyChecking no
UserKnownHostsFile=/dev/null
User kobaloki
LogLevel ERROR
ou seja, se eu colocar o código acima no arquivo ~ / .ssh / config do usuário de uma máquina remota e tentar o Ansible playbook pela primeira vez, não serei solicitado a digitar "yes" e o playbook será executado com êxito (sem a necessidade de usuário criar manualmente uma entrada de arquivo known_hosts da máquina de origem para a máquina de destino / remota).
Minhas perguntas: 1. Quais problemas de segurança eu devo cuidar se seguir o caminho ~ / .ssh / config 2. Como posso passar as configurações (o que há no arquivo de configuração) como parâmetros / opções para ansible na linha de comando para que será executado pela primeira vez em uma nova máquina (sem avisar / dependendo da entrada do arquivo known_hosts na máquina de origem da máquina de destino?