ansible 인벤토리 파일에서 host_key_checking = false를 설정하는 방법은 무엇입니까?
ansible-playbook
' vagrant provision
' 대신 명령 을 사용하고 싶습니다 . 그러나 설정 host_key_checking=false
에 hosts
파일은 작동하지 않습니다.
# hosts file
vagrant ansible_ssh_private_key_file=~/.vagrant.d/insecure_private_key
ansible_ssh_user=vagrant ansible_ssh_port=2222 ansible_ssh_host=127.0.0.1
host_key_checking=false
Vagrantfile
이 값을 재정 의 할 수있는 외부 구성 변수가 있습니까?
2014 년에 이에 답변했기 때문에 최신 버전의 ansible을 고려하여 답변을 업데이트했습니다.
예, 호스트 / 인벤토리 수준 ( 최신 ansible 버전 에서 가능 해짐 ) 또는 글로벌 수준 에서 수행 할 수 있습니다 .
재고 :
다음을 추가하십시오.
ansible_ssh_common_args='-o StrictHostKeyChecking=no'
호스트 :
다음을 추가하십시오.
ansible_ssh_extra_args='-o StrictHostKeyChecking=no'
호스트 / 재고 옵션은 연결 유형에서 작동 ssh
하지 paramiko
. 어떤 사람들은 범위가 더 제한되어 있기 때문에 인벤토리와 호스트가 더 안전하다고 강력하게 주장 할 수 있습니다.
글로벌 :
/etc/ansible/ansible.cfg
또는~/.ansible.cfg
파일 에서 수행 할 수 있습니다 .[defaults] host_key_checking = False
또는 설정 및 환경 변수를 설정할 수 있습니다 (최신 ansible 버전에서는 작동하지 않을 수 있음).
export ANSIBLE_HOST_KEY_CHECKING=False
예, 인벤토리 / 호스트 수준에서 설정할 수 있습니다 .
이미 받아 들여진 답변이 있으면 재고 수준에서 이것을 처리하는 방법에 대한 질문에 대한 더 나은 답변이라고 생각합니다. 이 안전하지 않은 설정을이를 위해 필요한 호스트 (예 : 테스트 시스템, 로컬 개발 머신)로 격리함으로써 더 안전하다고 생각합니다.
재고 수준에서 할 수있는 일은
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_ssh_common_args='-o StrictHostKeyChecking=no'
재고 파일에서. 내 경우에는 ansible 이이 옵션을 고려하지 않는 것 같습니다 (우분투 14.04의 pip에서 ansible 2.0.1.0)
나는 사용하기로 결정했다 :
server ansible_host=192.168.1.1 ansible_ssh_common_args= '-o UserKnownHostsFile=/dev/null'
그것은 나를 도왔다.
또한 각 호스트에 대해 대신이 변수를 그룹으로 설정할 수 있습니다.
[servers_group:vars]
ansible_ssh_common_args='-o UserKnownHostsFile=/dev/null'
에서 /etc/ansible/ansible.cfg
주석 라인 :
host_key_check = False
그리고 /etc/ansible/hosts
줄의 주석을 제거하십시오.
client_ansible ansible_ssh_host=10.1.1.1 ansible_ssh_user=root ansible_ssh_pass=12345678
그게 다야
Adding following to ansible config worked while using ansible ad-hoc commands:
[ssh_connection]
# ssh arguments to use
ssh_args = -o StrictHostKeyChecking=no
Ansible Version
ansible 2.1.6.0
config file = /etc/ansible/ansible.cfg
'Programing' 카테고리의 다른 글
조각 수명주기-표시 / 숨기기시 어떤 메서드가 호출됩니까? (0) | 2020.08.30 |
---|---|
Chrome 브라우저에서 F5 새로 고침과 Shift + F5의 차이점은 무엇입니까? (0) | 2020.08.30 |
Android 오류 [null 개체 참조에서 가상 메서드 'void android.app.ActionBar'호출 시도] (0) | 2020.08.30 |
Ruby 정규식의 첫 번째 일치 항목 반환 (0) | 2020.08.30 |
Vim을 배우는 대화 형 방법이 있습니까? (0) | 2020.08.30 |