shell
모듈을 추가하려면 this solution을, 새로 만든 EC2 인스턴스의 known_hosts 파일에는 ssh-keyscan
을 사용하여 키를 추가하려고합니다.쉘 모듈에서 ssh-keyscan을 사용하면 Unable에서 출력이 생성되지 않음
그 질문에 나열된 여러 가지 방법을 시도한 후에 나는 결국 추가하지 않고 shell
모듈을 사용하여 ssh-keyscan 명령을 실행했습니다. 나는이 작업에서 어떤 출력을 얻기하지 오전 : 여기
- name: accept new ssh fingerprints
shell: ssh-keyscan -H {{ item.public_ip }}
args:
executable: /bin/bash
with_items: "{{ ec2.instances }}"
register: keyscan
- debug: var=keyscan
디버그 stderr
에서 stdout
및 stdout_lines
아무것도 및 stderr_lines
주에서 아무것도 보여주지 : 나는 것을 읽은 후 표시된 실행 파일과 bash
이것을 실행 시도 shell
모듈의 기본값은 /bin/sh
이며 내 Linux Mint VirtualBox의 dash
셸입니다. 그러나 그것은 상관없이 동일합니다.
나는 다음과 같은 작업과 쉘 명령을 테스트하고 난 stdout
과 stdout_lines
에 적절한 출력을 참조하십시오
- name: test the shell
shell: echo hello
args:
executable: /bin/bash
register: hello
- debug: var=hello
여기 어떻게 진행되고 있습니까? 터미널에서 (Ansible을 통하지 않고) ssh-keyscan
을 실행하면 예상대로 작동합니다.
편집
: 디버그에서 raw_params 출력을 보면는ssh-keyscan -H x.x.x.x
및 복사를 보여주고 기대 작품으로 터미널에이 붙여 넣기.
그래서 Ansible이 실행하는 정확한 명령 **은 무엇입니까? 이 정확한 명령을 대화식으로 실행할 때 결과는 무엇입니까? StackOverflow보다 시스템의 부동산을 더 빠르고 쉽게 확인할 수 있습니까? – techraf
'ssh-keyscan -H xxxx'를 실행하는 디버그에서 raw_params 출력을 보았습니다.이 파일을 복사하여 터미널에 붙여 넣어 예상대로 작동 시켰습니다. – darkwing
어쩌면 당신이 보았지만 아무도 그렇게하지 않았을 것입니다. 다른 사람들이 알길 기대합니까? – techraf