Ansible SSH Fingerprint(Host Key) 접속 오류를 해결하는 방법
ansible.cfg 파일에서 fingerprint 옵션을 False로 설정하여 Ansible에서 SSH 지문 검사를 비활성화할 수 있습니다. 이를 통해 Ansible은 SSH 연결 시 서버의 호스트 키를 검사하지 않습니다.
Ansible 실행 중 다음과 같은 오류가 발생하는 경우
fatal: [node2]: UNREACHABLE! => {
"changed": false,
"msg": "Failed to connect to the host via ssh: Host key verification failed.",
"unreachable": true
}
Ansible fingerprint 접속 오류는 Ansible이 SSH 연결 시 호스트 키를 검증할 때 발생할 수 있는 오류입니다.
이 오류는 호스트 키가 변경되었거나 호스트 키를 신뢰하지 않는 경우에 발생할 수 있습니다.
해결 방법
SSH Host Key 검증 비활성화 (가장 간단, 자동화 환경용)
1. ansible.cfg 파일을 엽니다.
2. [defaults] 섹션을 찾거나 추가합니다.
3. host_key_checking = False 또는 ssh_args = -o StrictHostKeyChecking=no를 ansible.cfg 파일에 추가합니다.
- host_key_checking 옵션은 Ansible 2.0 이전 버전에서 사용할 수 있습니다.
- ssh_args 옵션은 Ansible 2.0 이후 버전에서 사용할 수 있습니다.
ansible.cfg 설정
[defaults]
host_key_checking = False
(또는) SSH 옵션을 직접 지정
[ssh_connection]
ssh_args = -o StrictHostKeyChecking=no
4. 파일을 저장하고 닫습니다.
자동으로 known_hosts 등록 (초기 구축 시 유용)
ansible-playbook site.yml --ask-known-hosts
Ansible이 호스트 키를 처음 접하는 경우에는 호스트 키를 수동으로 검증하고 저장해야 합니다. 이를 위해 ansible-playbook 명령을 실행할 때 --ask-known-hosts 옵션을 추가하여 호스트 키를 검증하고 저장할 수 있습니다.
known_hosts 초기화 (권장, 보안 유지)
기존에 저장된 잘못된 호스트 키를 삭제합니다.
ssh-keygen -R node2
또는 IP 주소 사용 시
ssh-keygen -R 192.168.1.20
이후 Ansible 재실행
ansible all -m ping
수동으로 호스트 키 등록 (가장 안전)
SSH로 한 번 직접 접속하여 호스트 키를 신뢰 목록에 추가합니다.
ssh node2
Are you sure you want to continue connecting (yes/no)?
yes 입력 후 Ansible 재실행
위의 방법 중 적합한 조치를 취하여 호스트 키 관련 접속 오류를 해결할 수 있습니다.
'리눅스' 카테고리의 다른 글
| [draft] 우분투에서 Ansible을 위한 기본 Bash 자동 완성을 설치하는 방법 (0) | 2026.03.02 |
|---|---|
| [draft] Ansible을 위한 기본 Bash 자동 완성을 설치하는 방법 (0) | 2026.03.02 |
| [draft] Ansible ansible-playbook 명령어를 사용하는 방법 (0) | 2026.03.02 |
| [draft] NGINX 및 PHP 파일 업로드 크기 제한 변경 (0) | 2026.03.02 |
| [draft] CentOS 7에서 Bash 자동 완성 기능을 사용하는 방법 (0) | 2026.03.02 |