So fügen Sie eine vorhandene public-key in authorized_keys-Datei mit Ansible und Benutzer-Modul?

Ich bin Programmier-eine einfache Aufgabe mit Ansible so erstellen Sie einen Benutzer und fügen Sie einen vorhandenen öffentlichen RSA-Schlüssel. Dies ist der code, den ich schrieb:

- name: SYSTEM - Create test user
  tags: system-user
  user: 
        name: "{{ test_user }}"
        state: present
        createhome: yes

- name: SYSTEM - Add existing pub key for test user
  tags: system-user
  copy: 
       content: "{{ test_user_pubkey }}"
       dest: "/tmp/test_user_id_rsa.pub"
       force: no
       owner: "{{ test_user }}"
       group: "{{ test_user }}"
       mode: 0600

- name: SYSTEM - Set authorized key for test_user took from file
  tags: system-user
  authorized_key:
        user: "{{ test_user }}"
        state: present
        key: "{{ lookup('file', '/tmp/test_user_id_rsa.pub') }}"

Den code, den ich schrieb, ist nicht elegant und ich denke, dass die beste option wird es sein, fügen Sie der bestehenden öffentlichen RSA-Schlüssel mit der Benutzer-Erstellung blockieren, um zu erstellen und füllten die authorized_keys Datei.

Ich habe gelesen, die Ansible Benutzer-Modul aber ssh_key_file Methode schließt nicht die Möglichkeit zu echo den Wert einer vorhandenen pub-Taste, um die authorized_keys Datei (der end-Zweck ist, können remote-Verbindung mit ssh mit den Benutzer-und den privaten Schlüssel).

ssh_key_file = Optional geben Sie die SSH-Schlüssel mit dem Namen. Wenn dies ein
relative Dateinamen, dann wird es relativ zum Basisverzeichnis des Benutzers
- Verzeichnis.

Ist es möglich, mit Ansible zu verwalten, die dieser Prozess im user-Modul?

  • Also Sie schrieb einige code und haben noch nicht einmal die Mühe gemacht, zu versuchen, es vor dem posten zu StackOverflow? Weil es nicht ausgeführt werden. Er wird sagen: /tmp/test_user_id_rsa.pub existiert nicht (es sei denn, Sie haben Chaos auf Ihrem lokalen computer).
  • Sie Recht für die Fehlermeldung, ich habe es bei meinem test, aber ich vergaß zu erwähnen, dass es in der post. Ich werde es Bearbeiten, zur Klärung und schonender für meine zukünftigen post. Außerdem bin ich mir auch nicht sicher, warum, ich bekomme es mit dem code, da die Datei existieren, nachdem die Kopie ausgeführt wurde.
Schreibe einen Kommentar