Displaying output of a remote command with Ansible

后端 未结 3 1038
[愿得一人]
[愿得一人] 2020-12-24 00:23

In an Ansible role I generate the user\'s SSH key. After that I want to print it to the screen and pause so the user can copy and paste it somewhere else. So far I have some

3条回答
  •  一向
    一向 (楼主)
    2020-12-24 00:40

    I'm not sure about the syntax of your specific commands (e.g., vagrant, etc), but in general...

    Just register Ansible's (not-normally-shown) JSON output to a variable, then display each variable's stdout_lines attribute:

    - 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
    

提交回复
热议问题