This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
ansible:ansible_playbook_example [2025/01/13 16:58] manu [SSH config] |
ansible:ansible_playbook_example [2025/01/13 17:22] (current) manu [SSH config] |
||
---|---|---|---|
Line 425: | Line 425: | ||
name: sshd | name: sshd | ||
state: restarted | state: restarted | ||
+ | </code> | ||
+ | |||
+ | <code> | ||
+ | --- | ||
+ | - hosts: all | ||
+ | tasks: | ||
+ | - name: sshd configuration file update | ||
+ | blockinfile: | ||
+ | path: /etc/ssh/sshd_config | ||
+ | insertbefore: BOF # Beginning of the file | ||
+ | marker: "# {mark} ANSIBLE MANAGED BLOCK BY LINUX-ADMIN" | ||
+ | block: | | ||
+ | PermitRootLogin no | ||
+ | PubkeyAuthentication yes | ||
+ | AuthorizedKeysFile .ssh/authorized_keys | ||
+ | PasswordAuthentication no | ||
+ | backup: yes | ||
+ | validate: /usr/sbin/sshd -T -f %s | ||
+ | |||
+ | - name: Restart SSHD | ||
+ | service: | ||
+ | name: sshd | ||
+ | state: restarted | ||
+ | </code> | ||
+ | |||
+ | ===== SUDO config ===== | ||
+ | |||
+ | <code> | ||
+ | - name: Setup passwordless sudo | ||
+ | lineinfile: | ||
+ | path: /etc/sudoers | ||
+ | state: present | ||
+ | regexp: '^%sudo' | ||
+ | line: '%sudo ALL=(ALL) NOPASSWD: ALL' | ||
+ | validate: '/usr/sbin/visudo -cf %s' | ||
+ | |||
+ | - name: Create a new regular user with sudo privileges | ||
+ | user: | ||
+ | name: "{{ created_username }}" | ||
+ | state: present | ||
+ | groups: sudo | ||
+ | append: true | ||
+ | create_home: true | ||
</code> | </code> | ||
https://zakirpcs.medium.com/ssh-hardening-using-ansible-playbook-9717a2e3edfc | https://zakirpcs.medium.com/ssh-hardening-using-ansible-playbook-9717a2e3edfc |