반응형
Ansible을 사용하여 원격 명령의 출력 표시
Ansible 역할에서 사용자의 SSH 키를 생성합니다. 그런 다음 다음 화면에 인쇄하고 일시 중지하여 사용자가 다른 곳에 복사하여 등록을 수 있습니다. 지금까지 다음과 같은 것이 있습니다.
- name: Generate SSH keys for vagrant user
user: name=vagrant generate_ssh_key=yes ssh_key_bits=2048
- name: Show SSH public key
command: /bin/cat $home_directory/.ssh/id_rsa.pub
- name: Wait for user to copy SSH public key
pause: prompt="Please add the SSH public key above to your GitHub account"
'Show SSH public key'태스크가 표시됩니다.
TASK: [Show SSH public key] ***************************************************
changed: [default]
이에 대해 더 나은 방법이 있습니다. 항상 '변경된'상태를 표시한다는 사실이 마음에 들지 않습니다. ansible ( https://github.com/ansible/ansible/pull/2673)에 대한이 pull request를 찾았지만 내 모듈을 작성하지 않고 사용할 수 있는지 확실하지 않습니다.
특정 명령 (예 : 방랑자 등)의 구문에 잘 모르겠지만 일반적으로 ...
Ansible의 (일반적으로 표시되지 않음) JSON 출력을 변수에 등록한 다음 각 변수의 stdout_lines
속성 을 표시 합니다.
- name: Generate SSH keys for vagrant user
user: name=vagrant generate_ssh_key=yes ssh_key_bits=2048
register: vagrant
- debug: var=vagrant.stdout_lines
- name: Show SSH public key
command: /bin/cat $home_directory/.ssh/id_rsa.pub
register: cat
- debug: var=cat.stdout_lines
- name: Wait for user to copy SSH public key
pause: prompt="Please add the SSH public key above to your GitHub account"
register: pause
- debug: var=pause.stdout_lines
-v
플래그를 ansible-playbook 명령에 전달하면 ansible이 터미널에 출력을 표시합니다.
사용 사례의 경우 가져 오기 모듈을 사용 하여 서버에서 로컬 컴퓨터로 공개 키를 복사 해 볼 수 있습니다. 이렇게하면 파일이 변경 될 때만 "변경됨"상태가 표시됩니다.
인쇄 pubkey
및 추가하여 변경 상태를 피하기 changed_when: False
에 cat
작업 :
- name: Generate SSH keys for vagrant user
user: name=vagrant generate_ssh_key=yes ssh_key_bits=2048
- name: Check SSH public key
command: /bin/cat $home_directory/.ssh/id_rsa.pub
register: cat
changed_when: False
- name: Print SSH public key
debug: var=cat.stdout
- name: Wait for user to copy SSH public key
pause: prompt="Please add the SSH public key above to your GitHub account"
참고 URL : https://stackoverflow.com/questions/18789545/displaying-output-of-a-remote-command-with-ansible
반응형
'ProgramingTip' 카테고리의 다른 글
Express에서 robots.txt를 처리하는 가장 현명한 방법은 무엇입니까? (0) | 2020.12.08 |
---|---|
새로운 정적이란 무엇입니까? (0) | 2020.12.08 |
Interface Builder에서 Yosemite 스타일의 통합 도구 모음을 어떻게 만들 수 있습니까? (0) | 2020.12.08 |
str과 int 응집을 어떻게합니까? (0) | 2020.12.08 |
heroku에서 .sql 펼쳐지는 실행하는 방법은 무엇입니까? (0) | 2020.12.07 |