Ansible: проверьте, существует ли мой пользователь на удаленном хосте, иначе используйте пользователя root для соединения с ssh

В настоящее время я пишу сценарий Ansible, который должен обновлять openssl на каждом хосте, на котором работает Debian или CentOS. На хостах наши SSH-ключи хранятся для моего собственного пользователя.или же корень. Я хочу проверить, существует ли мой пользователь на хосте, если нет, я хочу аутентифицироваться с пользователем root. Есть ли возможность сделать это? Я пробовал это с помощью команды bash, но я хочу проверить, существует ли мой пользовательдо Я выполняю задачи. Может быть, есть другие решения моей проблемы, но я их не знаю. Запуск этой книги воспроизведения выдает синтаксическую ошибку. Мой скрипт сейчас выглядит так:

---
- hosts: "{{ host_group }}" 
  remote_user: "{{ username }}"
  tasks:

# Check whether there's a existinig user or whether you have to use root
    - name: Check whether there's your user on the machine
      action: shell /usr/bin/getent passwd $username | /usr/bin/wc -l | tr -d ''
      register: user_exist
      remote_user: root
      when: user_exist.stdout == 0
      tags:
         - users

# Install openssl on Ubuntu or Debian
    - name: Install openssl on Ubuntu or Debian
      become: True
      become_user: root
      apt: name=openssl state=latest
      when: ansible_distribution == 'Debian' or ansible_distribution == 'Ubuntu'

# Install openssl on CentOS or RHEL
    - name: Install openssl on CentOS or RHEL
      become: True
      become_user: root
      yum: name=openssl state=latest
      when: ansible_distribution == 'CentOS' or ansible_distribution == 'Red Hat Enterprise Linux'

Ответы на вопрос(1)

Ваш ответ на вопрос