Ansible에서 호스트 키 검사를 무시할 수 있습니까?


19

임의의 포트 전달 포트에서 작동하기 위해 미묘한 해킹이있는 Ansible Playbook을 실행하고 있습니다 (따라서 많은 컴퓨터에 직접 액세스하지 않고도 하나의 컴퓨터를 사용할 수 있음).

ansible_port변수 를 변경하는 사전 작업이 있으므로 실제 작업과 역할을 실행하기 시작하면 임의의 포트에서 localhost에 대한 호스트 키를 수락하라는 메시지가 표시됩니다.

나는 순진하고 보안에 관심이 없기 때문에 ssh가 자동 수락 및 리디렉션 /dev/null(또는 로깅을위한 다른 파일)을 원합니다 .

이게 가능해?


ansible 설정에 전달하는 ssh 옵션을 통해이를 수행 할 수 있습니다.
Jiri Klouda

답변:


26

이는 일반적으로 다음 값을 설정하여 수행됩니다 ansible.cfg.

[defaults]
host_key_checking = False

수정하지 않으려면 ansible.cfg다음과 같이 환경 변수를 설정할 수 있습니다.

export ANSIBLE_HOST_KEY_CHECKING=False

출처 : http://docs.ansible.com/ansible/intro_getting_started.html#host-key-checking


MacOS를 사용하고 host_key_checking = False를 설정하고 있지만 여전히 "경고 : 가능한 DNS 스푸핑 감지!"라는 메시지가 나타납니다. 이전에 동일한 이름의 대상 호스트에 연결 한 다음 다시 빌드하여 ./ssh/known_hosts에 이전 키가 있음을 알게 된 후에이 문제를 해결했습니다.
차드 줄리아노

21

당신의에서 ansible.cfg파일을 다음과 같은 라인을 추가해야합니다 :

ssh_args = -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no

또한 ~/.ssh/config다음과 같이 실행하는 모든 컴퓨터에서 해당 옵션을 추가 할 수 있습니다 .

Host *
   StrictHostKeyChecking no
   UserKnownHostsFile=/dev/null

1
이 작동합니다. 또한 설정에 대한 자세한 내용 은 ansible.cfg 파일을 참조하십시오 :)
Dawny33

Dawny가 추가 한 경우 +1. Paramiko를 사용하는 사용자는 ansible.cfg를 사용해야합니다.
Woodland Hunter

1
플레이 북 내부에 설정하는 적절한 방법이 있습니까? 나는 해봤 ansible_ssh_common_args그리고 ansible_ssh_extra_args그것은 내가 ansible.cfg에있어 무엇보다 우선하지 않습니다. 나는 다른 모든 것에 사용하는 ansible.cfg를 가지고 있으며 변경하기 위해 복사하는 것 보다이 유형의 플레이 북에 대한 매개 변수를 재정의하려고합니다.
피터 터너

3
그 변수에 대해 말할 수는 없지만 Peter는이 플레이 북이있는 디렉토리에 수정 된 ansible.cfg를 넣을 수 있습니다.
Woodland Hunter

1
UserKnownHostsFile = / dev / null은 ssh 보안을 완전히 중단합니다
mmv-ru
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.