/root/.ssh: file.directory: - user: root - group: root - mode: 700 /root/.ssh/authorized_keys: file.managed: - source: 'salt://ssh/files/authorized_keys.jinja' - template: jinja - user: root - group: root - mode: 400 - require: - file: /root/.ssh /root/.bashrc: file.managed: - source: 'salt://ssh/files/bashrc.jinja' - template: jinja - user: root - group: root - mode: 644 /root/.ssh/config: file.managed: - source: 'salt://ssh/files/ssh_config.jinja' - template: jinja - user: root - group: root - mode: 400 - require: - file: /root/.ssh {% for user in salt.pillar.get('users', []) | union(salt.pillar.get('ssh_config_users', [])) %} /home/{{user}}/.ssh: file.directory: - user: {{user}} - group: {{user}} - mode: 700 {% endfor %} {% for user in salt.pillar.get('ssh_config_users', []) %} /home/{{user}}/.ssh/config: file.managed: - source: 'salt://ssh/files/ssh_config.jinja' - template: jinja - user: {{user}} - group: {{user}} - mode: 400 - require: - file: /home/{{user}}/.ssh {% endfor %} {% for user in salt.pillar.get('users', []) %} /home/{{user}}/.ssh/authorized_keys: file.managed: - source: 'salt://ssh/files/authorized_keys.jinja' - template: jinja - user: {{user}} - group: {{user}} - mode: 400 - require: - file: /home/{{user}}/.ssh {% endfor %}