Disables SSH access for root on demand #4
3 changed files with 44 additions and 3 deletions
|
@ -18,6 +18,10 @@ ensure_ansible_version: 2.10.3
|
||||||
enable_sudo: yes
|
enable_sudo: yes
|
||||||
# Allow passwordless sudo (applied to group wheel)
|
# Allow passwordless sudo (applied to group wheel)
|
||||||
enable_passwordless_sudo: yes
|
enable_passwordless_sudo: yes
|
||||||
|
# Allow root to connect through SSH
|
||||||
|
enable_ssh_for_root: yes
|
||||||
|
# Allow root to connect only using public key authentication, no password
|
||||||
|
enable_ssh_for_root_prohibit_password: no
|
||||||
# Skip provisioning of the firewall
|
# Skip provisioning of the firewall
|
||||||
skip_firewall: no
|
skip_firewall: no
|
||||||
authorized_keys_are_exclusive: false # Be careful, this will delete non-Ansible-managed authorized keys from the target!
|
authorized_keys_are_exclusive: false # Be careful, this will delete non-Ansible-managed authorized keys from the target!
|
|
@ -1,2 +1,7 @@
|
||||||
---
|
---
|
||||||
# handlers file for common
|
# handlers file for common
|
||||||
|
- name: Restart SSH
|
||||||
|
ansible.builtin.service:
|
||||||
|
name: ssh
|
||||||
|
state: restarted
|
||||||
|
become: true
|
|
@ -72,6 +72,38 @@
|
||||||
files:
|
files:
|
||||||
- /etc/sudoers
|
- /etc/sudoers
|
||||||
- /usr/local/etc/sudoers # e.g. FreeBSD
|
- /usr/local/etc/sudoers # e.g. FreeBSD
|
||||||
|
|
||||||
|
- name: 'Disable SSH for root'
|
||||||
|
lineinfile:
|
||||||
|
dest: "/etc/ssh/sshd_config"
|
||||||
|
state: present
|
||||||
|
regexp: '^#?\s*PermitRootLogin'
|
||||||
|
line: 'PermitRootLogin No'
|
||||||
|
notify: Restart SSH
|
||||||
|
when:
|
||||||
|
- enable_ssh_for_root | bool == false
|
||||||
|
|
||||||
|
- name: 'Enable SSH for root through password or key'
|
||||||
|
lineinfile:
|
||||||
|
dest: "/etc/ssh/sshd_config"
|
||||||
|
state: present
|
||||||
|
regexp: '^#?\s*PermitRootLogin'
|
||||||
|
line: 'PermitRootLogin Yes'
|
||||||
|
notify: Restart SSH
|
||||||
|
when:
|
||||||
|
- enable_ssh_for_root | bool == true
|
||||||
|
- enable_ssh_for_root_prohibit_password | bool == false
|
||||||
|
|
||||||
|
- name: 'Enable SSH for root through key only'
|
||||||
|
lineinfile:
|
||||||
|
dest: "/etc/ssh/sshd_config"
|
||||||
|
state: present
|
||||||
|
regexp: '^#?\s*PermitRootLogin'
|
||||||
|
line: 'PermitRootLogin prohibit-password'
|
||||||
|
notify: Restart SSH
|
||||||
|
when:
|
||||||
|
- enable_ssh_for_root | bool == true
|
||||||
|
- enable_ssh_for_root_prohibit_password | bool == true
|
||||||
when:
|
when:
|
||||||
- enable_sudo
|
- enable_sudo
|
||||||
- enable_passwordless_sudo
|
- enable_passwordless_sudo
|
||||||
|
|
Loading…
Add table
Reference in a new issue