| 
					
				 | 
			
			
				@@ -2,96 +2,86 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 {% from 'templates/ansible/prolog.j2' import prolog with context %} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 {{ prolog() }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 {% endif -%} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# Package generated configuration file 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# See the sshd_config(5) manpage for details 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#	$OpenBSD: sshd_config,v 1.100 2016/08/15 12:32:04 naddy Exp $ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# This is the sshd server system-wide configuration file.  See 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# sshd_config(5) for more information. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# The strategy used for options in the default sshd_config shipped with 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# OpenSSH is to specify options with their default value where 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# possible, but leave them commented.  Uncommented options override the 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# default value. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# What ports, IPs and protocols we listen for 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 {% for port in ssh_ports %} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 Port {{ port }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 {% endfor %} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# Use these options to restrict which interfaces/protocols sshd will bind to 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-#ListenAddress :: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#AddressFamily any 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #ListenAddress 0.0.0.0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-Protocol 2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# HostKeys for protocol version 2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-HostKey /etc/ssh/ssh_host_rsa_key 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-HostKey /etc/ssh/ssh_host_dsa_key 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-{% if ansible_lsb.major_release|int >= 7 %} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-HostKey /etc/ssh/ssh_host_ecdsa_key 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-{% endif %} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-{% if ansible_lsb.major_release|int >= 8 %} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-HostKey /etc/ssh/ssh_host_ed25519_key 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-{% endif %} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-#Privilege Separation is turned on for security 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-UsePrivilegeSeparation yes 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#ListenAddress :: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-{% if not ssh_usedns %} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# Enable/Disable reverse DNS check 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# Avois long lag in case of IPv6 connection with no reverse configured 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-UseDns no 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-{% endif %} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#HostKey /etc/ssh/ssh_host_rsa_key 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#HostKey /etc/ssh/ssh_host_ecdsa_key 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#HostKey /etc/ssh/ssh_host_ed25519_key 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# Lifetime and size of ephemeral version 1 server key 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-KeyRegenerationInterval 3600 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-ServerKeyBits 1024 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# Ciphers and keying 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#RekeyLimit default none 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+{% if ssh_strengthened %} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+KexAlgorithms curve25519-sha256@libssh.org,diffie-hellman-group-exchange-sha256 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com,aes128-gcm@openssh.com,aes256-ctr,aes192-ctr,aes128-ctr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+MACs hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-ripemd160-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-512,hmac-sha2-256,hmac-ripemd160,umac-128@openssh.com 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+{% endif %} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 # Logging 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-SyslogFacility AUTH 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-LogLevel INFO 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#SyslogFacility AUTH 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#LogLevel INFO 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 # Authentication: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-LoginGraceTime 120 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-PermitRootLogin without-password 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-StrictModes yes 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-RSAAuthentication yes 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-PubkeyAuthentication yes 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-#AuthorizedKeysFile	%h/.ssh/authorized_keys 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#LoginGraceTime 2m 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#PermitRootLogin prohibit-password 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#StrictModes yes 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#MaxAuthTries 6 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#MaxSessions 10 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#PubkeyAuthentication yes 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# Expect .ssh/authorized_keys2 to be disregarded by default in future. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#AuthorizedKeysFile	.ssh/authorized_keys .ssh/authorized_keys2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#AuthorizedPrincipalsFile none 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#AuthorizedKeysCommand none 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#AuthorizedKeysCommandUser nobody 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#HostbasedAuthentication no 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# Change to yes if you don't trust ~/.ssh/known_hosts for 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# HostbasedAuthentication 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#IgnoreUserKnownHosts no 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 # Don't read the user's ~/.rhosts and ~/.shosts files 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-IgnoreRhosts yes 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# For this to work you will also need host keys in /etc/ssh_known_hosts 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-RhostsRSAAuthentication no 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# similar for protocol version 2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-HostbasedAuthentication no 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# Uncomment if you don't trust ~/.ssh/known_hosts for RhostsRSAAuthentication 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-#IgnoreUserKnownHosts yes 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#IgnoreRhosts yes 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# To enable empty passwords, change to yes (NOT RECOMMENDED) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-PermitEmptyPasswords no 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# To disable tunneled clear text passwords, change to no here! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#PasswordAuthentication yes 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#PermitEmptyPasswords no 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 # Change to yes to enable challenge-response passwords (beware issues with 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 # some PAM modules and threads) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ChallengeResponseAuthentication no 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# Change to no to disable tunnelled clear text passwords 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-#PasswordAuthentication yes 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 # Kerberos options 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #KerberosAuthentication no 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-#KerberosGetAFSToken no 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #KerberosOrLocalPasswd yes 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #KerberosTicketCleanup yes 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#KerberosGetAFSToken no 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 # GSSAPI options 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #GSSAPIAuthentication no 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #GSSAPICleanupCredentials yes 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-X11Forwarding no 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-X11DisplayOffset 10 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-PrintMotd no 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-PrintLastLog yes 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-TCPKeepAlive yes 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-#UseLogin no 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-#MaxStartups 10:30:60 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-#Banner /etc/issue.net 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# Allow client to pass locale environment variables 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-AcceptEnv LANG LC_* 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-Subsystem sftp /usr/lib/openssh/sftp-server 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#GSSAPIStrictAcceptorCheck yes 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#GSSAPIKeyExchange no 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 # Set this to 'yes' to enable PAM authentication, account processing, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 # and session processing. If this is enabled, PAM authentication will 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -104,9 +94,44 @@ Subsystem sftp /usr/lib/openssh/sftp-server 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 # and ChallengeResponseAuthentication to 'no'. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 UsePAM yes 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# Maximum number of authentication attempts permitted per connection 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-MaxAuthTries 3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#AllowAgentForwarding yes 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#AllowTcpForwarding yes 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#GatewayPorts no 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#X11Forwarding yes 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#X11DisplayOffset 10 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#X11UseLocalhost yes 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#PermitTTY yes 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+PrintMotd no 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#PrintLastLog yes 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#TCPKeepAlive yes 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#UseLogin no 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#UsePrivilegeSeparation sandbox 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#PermitUserEnvironment no 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#Compression delayed 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#ClientAliveInterval 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#ClientAliveCountMax 3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#UseDNS no 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#PidFile /var/run/sshd.pid 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#MaxStartups 10:30:100 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#PermitTunnel no 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#ChrootDirectory none 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#VersionAddendum none 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# no default banner path 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#Banner none 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# Allow client to pass locale environment variables 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+AcceptEnv LANG LC_* 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# override default of no subsystems 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+Subsystem	sftp	/usr/lib/openssh/sftp-server 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# Example of overriding settings on a per-user basis 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#Match User anoncvs 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#	X11Forwarding no 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#	AllowTcpForwarding no 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#	PermitTTY no 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#	ForceCommand cvs server 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 {% if ssh_allowed_users %} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 # Define users allowed to login 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 AllowUsers {{ ssh_allowed_users | join(' ') }} 
			 |