mirror of
https://git.lapiole.org/dani/ansible-roles.git
synced 2025-04-12 00:03:17 +02:00
97 lines
3.2 KiB
Django/Jinja
97 lines
3.2 KiB
Django/Jinja
AddressFamily inet
|
|
Protocol 2
|
|
SyslogFacility AUTHPRIV
|
|
PermitRootLogin {{ (sshd_permit_root_login == True) | ternary('yes','no') }}
|
|
PasswordAuthentication {{ (sshd_password_auth == True) | ternary('yes','no') }}
|
|
|
|
{% if ad_auth is defined and ad_auth and sshd_use_dns %}
|
|
GSSAPIAuthentication yes
|
|
GSSAPIKeyExchange yes
|
|
GSSAPIStoreCredentialsOnRekey yes
|
|
{% endif %}
|
|
|
|
UseDNS {{ sshd_use_dns | ternary('yes', 'no') }}
|
|
|
|
{% if sshd_authorized_keys_command is defined %}
|
|
AuthorizedKeysCommand {{ sshd_authorized_keys_command }}
|
|
AuthorizedKeysCommandUser {{ sshd_authorized_keys_command_user | default('nobody') }}
|
|
{% elif ad_auth | default(False) == True and ad_ldap_user_ssh_public_key is defined %}
|
|
AuthorizedKeysCommand /usr/bin/sss_ssh_authorizedkeys
|
|
AuthorizedKeysCommandUser nobody
|
|
{% endif %}
|
|
|
|
HostKey /etc/ssh/ssh_host_rsa_key
|
|
HostKey /etc/ssh/ssh_host_ed25519_key
|
|
HostKey /etc/ssh/ssh_host_ecdsa_key
|
|
|
|
AuthorizedKeysFile /etc/ssh/authorized_keys/%u/authorized_keys
|
|
|
|
{% if sshd_deny_users is defined and sshd_deny_users | length > 0 %}
|
|
DenyUsers {{ sshd_deny_users | join(' ') }}
|
|
{% endif %}
|
|
|
|
{% if sshd_allow_users is defined and sshd_allow_users | length > 0 %}
|
|
AllowUsers {{ sshd_allow_users | join(' ') }}
|
|
{% endif %}
|
|
|
|
{% if sshd_deny_groups is defined and sshd_deny_groups | length > 0 %}
|
|
DenyGroups {{ sshd_deny_groups | join(' ') }}
|
|
{% endif %}
|
|
|
|
{% if sshd_allow_groups is defined and sshd_allow_groups | length > 0 %}
|
|
AllowGroups {{ sshd_allow_groups | join(' ') }}
|
|
{% endif %}
|
|
|
|
{% for port in sshd_ports %}
|
|
Port {{ port }}
|
|
{% endfor %}
|
|
|
|
ChallengeResponseAuthentication no
|
|
UsePAM yes
|
|
AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
|
|
AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
|
|
AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE
|
|
AcceptEnv XMODIFIERS
|
|
AcceptEnv LC_PVE_*
|
|
X11Forwarding no
|
|
Subsystem sftp internal-sftp
|
|
|
|
{% for directive in sshd_custom_options.keys() | list %}
|
|
{{ directive }} {{ sshd_custom_options[directive] }}
|
|
{% endfor %}
|
|
|
|
# Local user are managed separately
|
|
Match User root,ansible,lbkp,zimbra,zfs-recv{% if ssh_local_users | length > 0 %},{{ ssh_local_users | join(',') }}{% endif +%}
|
|
AuthorizedKeysFile /etc/ssh/authorized_keys/%u/authorized_keys %h/.ssh/authorized_keys
|
|
|
|
{% for user in ssh_users | default([]) %}
|
|
Match user {{ user.name }}
|
|
{% if user.chroot is defined %}
|
|
ChrootDirectory {{ user.chroot }}
|
|
{% endif %}
|
|
{% if user.sftp_only | default(False) %}
|
|
ForceCommand internal-sftp{% if user.sftp_cd is defined %} -d {{ user.sftp_cd }}{% endif %}
|
|
{% endif %}
|
|
{% if user.allow_forwarding is defined %}
|
|
AllowTCPForwarding {{ user.allow_forwarding | ternary('yes', 'no') }}
|
|
X11Forwarding {{ user.allow_forwarding | ternary('yes', 'no') }}
|
|
{% endif %}
|
|
{% if user.keys_file is defined %}
|
|
AuthorizedKeysFile {{ user.keys_file }}
|
|
{% endif %}
|
|
|
|
|
|
{% endfor %}
|
|
|
|
{% for client in wh_clients | default([]) %}
|
|
# Web hosting client {{ client.name }}
|
|
# hosted app {{ client.apps | map(attribute='name') | list | join(', ') }}
|
|
Match Group client_{{ client.name }}{{ (samba_realm is defined) | ternary('@' + samba_realm | upper,'') }}
|
|
ChrootDirectory /opt/wh/{{ client.name }}
|
|
ForceCommand internal-sftp
|
|
AllowTCPForwarding no
|
|
X11Forwarding no
|
|
AuthorizedKeysFile /etc/ssh/wh/{{ client.name }}/authorized_keys
|
|
|
|
{% endfor %}
|