두 가지 옵션-첫 번째 대답은 환경 변수 ANSIBLE_HOST_KEY_CHECKING
를 False로 설정하는 것 입니다.
그것을 설정하는 두 번째 방법은 파일을 ansible.cfg 파일에 저장하는 것입니다. 이것은 시스템 또는 사용자 수준에서 /etc/ansible/ansible.cfg
또는 시스템 내에서 또는 ~/.ansible.cfg
동일한 디렉토리의 구성 파일에서 설정할 수 있기 때문에 실제로 유용한 옵션입니다. 실행중인 플레이 북으로
이렇게하려면 ansible.cfg
해당 위치 중 하나에 파일을 만들고 다음을 포함하십시오.
[defaults]
host_key_checking = False
또한 플레이 시작시 팩트를 수집할지 여부, 여러 장소에 선언 된 해시를 병합할지 또는 다른 것으로 대체할지 등과 같은 기타 편리한 기본값을 설정할 수 있습니다. 옵션의 전체 큰 목록이있다 여기 Ansible 문서에서이.
편집 : 보안에 대한 참고 사항.
SSH 호스트 키 유효성 검사는 영구 호스트에 의미있는 보안 계층입니다 . 동일한 컴퓨터에 여러 번 연결하는 경우 호스트 키를 로컬로 수락하는 것이 좋습니다.
수명이 긴 EC2 인스턴스 의 경우 인스턴스를 처음 생성 할 때 한 번만 작업을 실행하여 호스트 키를 수락하는 것이 좋습니다.
- name: Write the new ec2 instance host key to known hosts
connection: local
shell: "ssh-keyscan -H {{ inventory_hostname }} >> ~/.ssh/known_hosts"
플레이 북 실행 직후 동적으로 일어 서서 제거하는 인스턴스에는 호스트 키를 확인하기위한 보안 값이 없지만 영구 컴퓨터의 호스트 키를 확인하는 보안 값은 있습니다. 따라서 논리 환경마다 호스트 키 검사를 다르게 관리해야합니다.
- 기본적으로 검사를 활성화 상태로 유지 (
~/.ansible.cfg
)
- 작업 디렉토리에서 임시 인스턴스에 대해 실행하는 플레이 북에 대한 호스트 키 검사를 비활성화합니다 (
./ansible.cfg
유용한 VM에 대한 단위 테스트를위한 플레이 북과 함께, 단기 EC2 인스턴스에 대한 자동화).