Ansible : Automatisches Registrieren der SSH Keys

Wir haben hier einige Adminstratoren die auf die erstellten Umgebungen Zugriff benötigen. Der Zugriff geschieht immer über einen SSH Key. Diese werden in unseren Ansible Script auf diese Weise registriert.

  - name: register default ssh admin keys
    authorized_key:
      user: admin
      state: present
      key: "{{ lookup('file', '{{ item }}') }}"
    with_fileglob:
      - "/ansible-deploy/global/ssh-keys/*.pub"

  - name: register admin-ssh-key for user app
    authorized_key:
      user: app
      state: present
      key: '{{ item }}'
    with_file:
      - "{{ admin_ssh_pub_file }}"

  - name: register default ssh app keys
    authorized_key:
      user: app
      state: present
      key: "{{ lookup('file', '{{ item }}') }}"
    with_fileglob:
      - '/ansible-deploy/global/ssh-keys/*.pub'

# allow developers to access servers 

  - name: register projekt-ssh keys for user app
    authorized_key:
      user: app
      state: present
      key: "{{ lookup('file', '{{ item }}') }}"
    with_fileglob:
      - '/ansible-deploy/customers/{{ customer }}/project_ssh_keys/*.pub'

# register key for user app to allow access between servers
# to generate a private key for this platform you can change into the project_ssh_keys directory and use
# ssh-keygen -t rsa -b 4096 -f ./id_rsa -P '' -C 'app-key' 

  - name: copy the app private key
    copy:
      owner: app
      group: app
      mode: 0600
      src: "/ansible-deploy/customers/{{ customer }}/project_ssh_keys/id_rsa"
      dest: "/home/app/.ssh/id_rsa"
“Das einzig sichere System müsste ausgeschaltet, in einem versiegelten und von Stahlbeton ummantelten Raum und von bewaffneten Schutztruppen umstellt sein.”
Gene Spafford (Sicherheitsexperte)