예, 인벤토리 / 호스트 수준에서 설정할 수 있습니다 .
이미 받아 들여진 답변이 있으면 재고 수준에서 이것을 처리하는 방법에 대한 질문에 대한 더 나은 답변이라고 생각합니다. 이 안전하지 않은 설정을이를 위해 필요한 호스트 (예 : 테스트 시스템, 로컬 개발 머신)로 격리함으로써 더 안전하다고 생각합니다.
재고 수준에서 할 수있는 일은
ansible_ssh_common_args='-o StrictHostKeyChecking=no'
또는
ansible_ssh_extra_args='-o StrictHostKeyChecking=no'
호스트 정의에 추가합니다 ( Ansible 행동 인벤토리 매개 변수 참조 ).
이것은 ssh
연결 유형 을 사용하는 경우 작동합니다 paramiko
.
예를 들어, Vagrant 호스트 정의는 다음과 같습니다.
vagrant ansible_port=2222 ansible_host=127.0.0.1 ansible_ssh_common_args='-o StrictHostKeyChecking=no'
또는
vagrant ansible_port=2222 ansible_host=127.0.0.1 ansible_ssh_extra_args='-o StrictHostKeyChecking=no'
그러면 환경 변수를 변경하지 않고도 Ansible을 실행할 수 있습니다.
$ ansible vagrant -i <path/to/hosts/file> -m ping
vagrant | SUCCESS => {
"changed": false,
"ping": "pong"
}
호스트 그룹에 대해이 작업을 수행하려는 경우 다음과 같이 기존 그룹에 대한 보충 그룹 변수로 만드는 제안이 있습니다.
[mytestsystems]
test[01:99].example.tld
[insecuressh:children]
mytestsystems
[insecuressh:vars]
ansible_ssh_common_args='-o StrictHostKeyChecking=no'
ANSIBLE_HOST_KEY_CHECKING
작동하지만 작동-e 'host_key_checking=False'
하지 않는 경험이 있습니다.