add SSH server configuration playbook and templates
This commit is contained in:
43
playbooks/deploy_sshd_config.yml
Normal file
43
playbooks/deploy_sshd_config.yml
Normal file
@@ -0,0 +1,43 @@
|
||||
---
|
||||
- name: Deploy complete SSH server configuration
|
||||
hosts: all
|
||||
become: true
|
||||
gather_facts: false
|
||||
|
||||
tasks:
|
||||
- name: Deploy base /etc/ssh/sshd_config file
|
||||
template:
|
||||
src: templates/sshd/sshd_config.j2
|
||||
dest: /etc/ssh/sshd_config
|
||||
owner: root
|
||||
group: root
|
||||
mode: "0644"
|
||||
notify: Reload SSH
|
||||
|
||||
- name: Deploy hardened global ssh config include
|
||||
template:
|
||||
src: templates/sshd/00-global.conf.j2
|
||||
dest: /etc/ssh/sshd_config.d/00-global.conf
|
||||
owner: root
|
||||
group: root
|
||||
mode: "0644"
|
||||
notify: Reload SSH
|
||||
|
||||
- name: Deploy LAN password bypass config include
|
||||
template:
|
||||
src: templates/sshd/99-lan-bypass.conf.j2
|
||||
dest: /etc/ssh/sshd_config.d/99-lan-bypass.conf
|
||||
owner: root
|
||||
group: root
|
||||
mode: "0644"
|
||||
notify: Reload SSH
|
||||
|
||||
- name: Validate sshd configuration syntax
|
||||
command: sshd -t
|
||||
changed_when: false
|
||||
|
||||
handlers:
|
||||
- name: Reload SSH
|
||||
service:
|
||||
name: ssh
|
||||
state: reloaded
|
||||
25
playbooks/templates/sshd/00-global.conf.j2
Normal file
25
playbooks/templates/sshd/00-global.conf.j2
Normal file
@@ -0,0 +1,25 @@
|
||||
Port 22
|
||||
AddressFamily inet
|
||||
PermitRootLogin no
|
||||
|
||||
PasswordAuthentication no
|
||||
KbdInteractiveAuthentication no
|
||||
ChallengeResponseAuthentication no
|
||||
PermitEmptyPasswords no
|
||||
|
||||
UsePAM yes
|
||||
AllowGroups {{ ssh_access_group | default('sshusers') }}
|
||||
|
||||
PubkeyAuthentication yes
|
||||
AuthorizedKeysFile .ssh/authorized_keys
|
||||
|
||||
X11Forwarding no
|
||||
PrintMotd no
|
||||
PrintLastLog yes
|
||||
|
||||
LoginGraceTime 30s
|
||||
MaxAuthTries 3
|
||||
MaxSessions 2
|
||||
|
||||
AcceptEnv LANG LC_*
|
||||
Subsystem sftp /usr/lib/openssh/sftp-server
|
||||
2
playbooks/templates/sshd/99-lan-bypass.conf.j2
Normal file
2
playbooks/templates/sshd/99-lan-bypass.conf.j2
Normal file
@@ -0,0 +1,2 @@
|
||||
Match Address 10.0.0.0/8
|
||||
PasswordAuthentication yes
|
||||
4
playbooks/templates/sshd/sshd_config.j2
Normal file
4
playbooks/templates/sshd/sshd_config.j2
Normal file
@@ -0,0 +1,4 @@
|
||||
# Base sshd_config — managed by Ansible
|
||||
# Delegates all settings to config fragments
|
||||
|
||||
Include /etc/ssh/sshd_config.d/*.conf
|
||||
Reference in New Issue
Block a user