Compare commits
9 commits
Author | SHA1 | Date | |
---|---|---|---|
c0059510d8 | |||
3bbc6bb2cf | |||
b79bd4d2d7 | |||
177ba579e9 | |||
a550c49dec | |||
ef9cfb8ced | |||
0a845c7097 | |||
0eb60eb187 | |||
1cbbba0dea |
5 changed files with 63 additions and 5 deletions
|
@ -30,6 +30,8 @@ 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
|
||||||
|
# Skip provisioning of the firewall
|
||||||
|
skip_firewall: no
|
||||||
```
|
```
|
||||||
|
|
||||||
Dependencies
|
Dependencies
|
||||||
|
|
|
@ -18,3 +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_firewall: no
|
||||||
|
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
|
|
@ -12,10 +12,13 @@
|
||||||
import_role:
|
import_role:
|
||||||
name: geerlingguy.firewall
|
name: geerlingguy.firewall
|
||||||
tags: firewall
|
tags: firewall
|
||||||
|
when: not skip_firewall
|
||||||
|
|
||||||
- include: locales-debian.yml
|
- include: locales-debian.yml
|
||||||
become: true
|
become: true
|
||||||
when: ansible_facts['os_family'] == 'Debian'
|
when:
|
||||||
|
- ansible_facts['os_family'] == 'Debian'
|
||||||
|
- not ansible_is_chroot
|
||||||
|
|
||||||
- include: users.yml
|
- include: users.yml
|
||||||
become: true
|
become: true
|
||||||
|
|
|
@ -11,6 +11,14 @@
|
||||||
groups: users
|
groups: users
|
||||||
with_items: "{{ users }}"
|
with_items: "{{ users }}"
|
||||||
|
|
||||||
|
- name: 'Add docker users'
|
||||||
|
user:
|
||||||
|
name: "{{ item }}"
|
||||||
|
groups: docker
|
||||||
|
append: yes
|
||||||
|
with_items: "{{ docker_users }}"
|
||||||
|
when: docker_users | count
|
||||||
|
|
||||||
- block:
|
- block:
|
||||||
- name: 'Ensure that sudo group is existing'
|
- name: 'Ensure that sudo group is existing'
|
||||||
group:
|
group:
|
||||||
|
@ -44,8 +52,9 @@
|
||||||
user: "{{ item }}"
|
user: "{{ item }}"
|
||||||
state: present
|
state: present
|
||||||
key: "{{ lookup('file', 'public_keys/id_{{ item }}.pub') }}"
|
key: "{{ lookup('file', 'public_keys/id_{{ item }}.pub') }}"
|
||||||
|
exclusive: "{{ authorized_keys_are_exclusive | bool }}"
|
||||||
with_items: "{{ users }}"
|
with_items: "{{ users }}"
|
||||||
ignore_errors: yes
|
ignore_errors: true
|
||||||
|
|
||||||
- block:
|
- block:
|
||||||
- name: 'Ensure that wheel group is existing'
|
- name: 'Ensure that wheel group is existing'
|
||||||
|
@ -71,6 +80,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