Ansible Role sshd¶
This role ensures that sshd is configured.
Note that the role does not make use of /etc/ssh/sshd_config.d/ since not all options can be overwritten (eg. Subsystem 'sftp' already defined).
Mandatory Requirements¶
Install Python 3, and the python3-policycoreutils module (required for the SELinux Ansible tasks). This can be done using the linuxfabrik.lfops.policycoreutils role.
Optional Role Variables¶
sshd__address_family
Specifies which address family should be used. Possible options:
any,inet(use IPv4 only) orinet6(use IPv6 only).Type: String.
Default:
'any'
sshd__gssapi_authentication
Specifies whether user authentication based on GSSAPI is allowed.
Type: Bool.
Default:
true
sshd__log_level
Sets the log level.
Type: String.
Default:
'INFO'
sshd__password_authentication
Specifies whether password authentication is allowed.
Type: Bool.
Default:
false
sshd__permit_root_login
Specifies whether root can log in using ssh. Possible options:
yes,prohibit-password,forced-commands-only,no.Type: String.
Default:
'yes'
sshd__port
Which port the sshd server should use.
Type: Number.
Default:
22
sshd__raw
Raw (user-defined) SSH-Config. Will be placed at the end of the
/etc/ssh/sshd_configfile. Useful forMatchdirectives.Type: String.
Default: unset
sshd__service_enabled
Enables or disables the sshd service, analogous to
systemctl enable/disable.Type: Bool.
Default:
true
sshd__service_state
Changes the state of the sshd service, analogous to
systemctl start/stop/restart/reload. Possible options:started,stopped,restarted,reloaded.Type: String.
Default:
'started'
sshd__sftp_subsystem
Which command should be used for the sftp subsystem.
Type: String.
Default: RHEL:
'/usr/libexec/openssh/sftp-server', Debian:'/usr/lib/openssh/sftp-server'
sshd__use_dns
Specifies whether sshd should look up the remote hostname, and to check that the resolved host name for the remote IP address maps back to the very same IP address.
Type: Bool.
Default:
false
Example:
# optional
sshd__address_family: 'inet'
sshd__gssapi_authentication: false
sshd__log_level: 'INFO'
sshd__password_authentication: false
sshd__permit_root_login: 'yes'
sshd__port: 22
sshd__raw: |-
Match Group sftpusers
ChrootDirectory /data
DisableForwarding yes
ForceCommand internal-sftp
sshd__service_enabled: true
sshd__service_state: 'started'
sshd__use_dns: false