changeset 438:bb8f85c35113

Manualy patch SSH module https://github.com/ghoneycutt/puppet-module-ssh/pull/377
author IBBoard <dev@ibboard.co.uk>
date Sun, 14 Aug 2022 11:44:25 +0100
parents b8d6ada284dd
children e4de05e3a2f8
files modules/ssh/manifests/init.pp modules/ssh/metadata.json modules/ssh/spec/classes/init_spec.rb modules/ssh/spec/fixtures/ssh_config_ubuntu2204 modules/ssh/spec/fixtures/sshd_config_sles_12_x86_64 modules/ssh/spec/fixtures/sshd_config_ubuntu2204
diffstat 6 files changed, 244 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/modules/ssh/manifests/init.pp	Sun Aug 14 11:30:13 2022 +0100
+++ b/modules/ssh/manifests/init.pp	Sun Aug 14 11:44:25 2022 +0100
@@ -191,6 +191,7 @@
           }
         }
         'i386' : {
+          $default_sshd_config_serverkeybits  = '1024'
           $default_sshd_config_subsystem_sftp = '/usr/lib/ssh/sftp-server'
       }
         default: {
@@ -291,6 +292,34 @@
           $default_sshd_use_pam                       = 'yes'
           $default_sshd_x11_forwarding                = 'yes'
         }
+        '22.04': {
+          $default_service_hasstatus                  = true
+          $default_ssh_config_forward_x11_trusted     = 'yes'
+          $default_ssh_config_hash_known_hosts        = 'yes'
+          $default_ssh_config_include                 = '/etc/ssh/ssh_config.d/*.conf'
+          $default_ssh_gssapiauthentication           = 'yes'
+          $default_ssh_package_adminfile              = undef
+          $default_ssh_package_source                 = undef
+          $default_ssh_sendenv                        = true
+          $default_sshd_acceptenv                     = true
+          $default_sshd_addressfamily                 = 'any'
+          $default_sshd_config_hostkey                = []
+          $default_sshd_config_include                = '/etc/ssh/sshd_config.d/*.conf'
+          $default_sshd_config_mode                   = '0644'
+          $default_sshd_config_permittunnel           = undef
+          $default_sshd_config_print_motd             = 'no'
+          $default_sshd_config_serverkeybits          = undef
+          $default_sshd_config_subsystem_sftp         = '/usr/lib/openssh/sftp-server'
+          $default_sshd_config_tcp_keepalive          = undef
+          $default_sshd_config_use_dns                = 'no'
+          $default_sshd_config_xauth_location         = undef
+          $default_sshd_gssapiauthentication          = undef
+          $default_sshd_gssapicleanupcredentials      = undef
+          $default_sshd_gssapikeyexchange             = undef
+          $default_sshd_pamauthenticationviakbdint    = undef
+          $default_sshd_use_pam                       = 'yes'
+          $default_sshd_x11_forwarding                = 'yes'
+        }
         /^10.*/: {
           $default_sshd_config_hostkey = [
             '/etc/ssh/ssh_host_rsa_key',
--- a/modules/ssh/metadata.json	Sun Aug 14 11:30:13 2022 +0100
+++ b/modules/ssh/metadata.json	Sun Aug 14 11:44:25 2022 +0100
@@ -109,7 +109,8 @@
         "14.04",
         "16.04",
         "18.04",
-        "20.04"
+        "20.04",
+        "22.04"
       ]
     }
   ],
--- a/modules/ssh/spec/classes/init_spec.rb	Sun Aug 14 11:30:13 2022 +0100
+++ b/modules/ssh/spec/classes/init_spec.rb	Sun Aug 14 11:44:25 2022 +0100
@@ -285,6 +285,19 @@
       :sshd_config_fixture    => 'sshd_config_ubuntu2004',
       :ssh_config_fixture     => 'ssh_config_ubuntu2004',
     },
+    'Ubuntu-2204' => {
+      :architecture           => 'x86_64',
+      :osfamily               => 'Debian',
+      :operatingsystemrelease => '22.04',
+      :ssh_version            => 'OpenSSH_8.7p1',
+      :ssh_version_numeric    => '8.7',
+      :ssh_packages           => ['openssh-server', 'openssh-client'],
+      :sshd_config_mode       => '0644',
+      :sshd_service_name      => 'ssh',
+      :sshd_service_hasstatus => true,
+      :sshd_config_fixture    => 'sshd_config_ubuntu2204',
+      :ssh_config_fixture     => 'ssh_config_ubuntu2204',
+    },
   }
 
   osfamily_matrix.each do |os, facts|
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/modules/ssh/spec/fixtures/ssh_config_ubuntu2204	Sun Aug 14 11:44:25 2022 +0100
@@ -0,0 +1,63 @@
+# This file is being maintained by Puppet.
+# DO NOT EDIT
+
+# $OpenBSD: ssh_config,v 1.21 2005/12/06 22:38:27 reyk Exp $
+
+# This is the ssh client system-wide configuration file.  See
+# ssh_config(5) for more information.  This file provides defaults for
+# users, and the values can be changed in per-user configuration files
+# or on the command line.
+
+# Configuration data is parsed as follows:
+#  1. command line options
+#  2. user-specific file
+#  3. system-wide file
+# Any configuration value is only changed the first time it is set.
+# Thus, host-specific definitions should be at the beginning of the
+# configuration file, and defaults at the end.
+
+# Site-wide defaults for some commonly used options.  For a comprehensive
+# list of available options, their meanings and defaults, please see the
+# ssh_config(5) man page.
+
+Include /etc/ssh/ssh_config.d/*.conf
+
+# Host *
+#   ForwardAgent no
+#   ForwardX11 no
+#   RhostsRSAAuthentication no
+#   RSAAuthentication yes
+   PasswordAuthentication yes
+   PubkeyAuthentication yes
+#   HostbasedAuthentication no
+#   BatchMode no
+#   CheckHostIP yes
+#   AddressFamily any
+#   ConnectTimeout 0
+#   StrictHostKeyChecking ask
+#   IdentityFile ~/.ssh/identity
+   IdentityFile ~/.ssh/id_rsa
+   IdentityFile ~/.ssh/id_dsa
+#   Port 22
+   Protocol 2
+#   Cipher 3des
+#   Ciphers aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour,aes192-cbc,aes256-cbc
+#   EscapeChar ~
+#   Tunnel no
+#   TunnelDevice any:any
+#   PermitLocalCommand no
+#   HashKnownHosts no
+   HashKnownHosts yes
+   GlobalKnownHostsFile /etc/ssh/ssh_known_hosts
+Host *
+#  GSSAPIAuthentication yes
+  GSSAPIAuthentication yes
+# If this option is set to yes then remote X11 clients will have full access
+# to the original X11 display. As virtually no X11 client supports the untrusted
+# mode correctly we set this to yes.
+  ForwardX11Trusted yes
+  UseRoaming no
+# Send locale-related environment variables
+  SendEnv LANG LANGUAGE LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
+  SendEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
+  SendEnv LC_IDENTIFICATION LC_ALL
--- a/modules/ssh/spec/fixtures/sshd_config_sles_12_x86_64	Sun Aug 14 11:30:13 2022 +0100
+++ b/modules/ssh/spec/fixtures/sshd_config_sles_12_x86_64	Sun Aug 14 11:44:25 2022 +0100
@@ -139,5 +139,5 @@
 XAuthLocation /usr/bin/xauth
 
 # override default of no subsystems
-Subsystem sftp /usr/lib/ssh/sftp-server
+Subsystem sftp /usr/lib64/ssh/sftp-server
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/modules/ssh/spec/fixtures/sshd_config_ubuntu2204	Sun Aug 14 11:44:25 2022 +0100
@@ -0,0 +1,136 @@
+# This file is being maintained by Puppet.
+# DO NOT EDIT
+
+# $OpenBSD: sshd_config,v 1.73 2005/12/06 22:38:28 reyk Exp $
+
+# This is the sshd server system-wide configuration file.  See
+# sshd_config(5) for more information.
+
+# This sshd was compiled with PATH=/usr/local/bin:/bin:/usr/bin
+
+# 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 change a
+# default value.
+
+Include /etc/ssh/sshd_config.d/*.conf
+
+#Port 22
+Port 22
+#Protocol 2,1
+Protocol 2
+#AddressFamily any
+AddressFamily any
+
+# HostKey for protocol version 1
+#HostKey /etc/ssh/ssh_host_key
+# HostKeys for protocol version 2
+#HostKey /etc/ssh/ssh_host_rsa_key
+#HostKey /etc/ssh/ssh_host_dsa_key
+
+# Lifetime and size of ephemeral version 1 server key
+#KeyRegenerationInterval 1h
+#ServerKeyBits 1024
+# Logging
+# obsoletes QuietMode and FascistLogging
+#SyslogFacility AUTH
+SyslogFacility AUTH
+#LogLevel INFO
+LogLevel INFO
+
+# Authentication:
+
+#LoginGraceTime 120
+LoginGraceTime 120
+#PermitRootLogin yes
+PermitRootLogin yes
+#StrictModes yes
+#MaxAuthTries 6
+
+#RSAAuthentication yes
+#PubkeyAuthentication yes
+PubkeyAuthentication yes
+#AuthorizedKeysFile .ssh/authorized_keys
+
+# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts
+#RhostsRSAAuthentication no
+# similar for protocol version 2
+#HostbasedAuthentication no
+HostbasedAuthentication no
+# Change to yes if you don't trust ~/.ssh/known_hosts for
+# RhostsRSAAuthentication and HostbasedAuthentication
+#IgnoreUserKnownHosts no
+IgnoreUserKnownHosts no
+# Don't read the user's ~/.rhosts and ~/.shosts files
+#IgnoreRhosts yes
+IgnoreRhosts yes
+
+# To disable tunneled clear text passwords, change to no here!
+#PasswordAuthentication yes
+PasswordAuthentication yes
+#PermitEmptyPasswords no
+
+# Change to no to disable s/key passwords
+#ChallengeResponseAuthentication yes
+ChallengeResponseAuthentication yes
+
+# Kerberos options
+#KerberosOrLocalPasswd yes
+#KerberosTicketCleanup yes
+#KerberosGetAFSToken no
+
+# GSSAPI options
+#GSSAPIAuthentication no
+GSSAPIAuthentication yes
+
+# Set this to 'yes' to enable PAM authentication, account processing,
+# and session processing. If this is enabled, PAM authentication will
+# be allowed through the ChallengeResponseAuthentication mechanism.
+# Depending on your PAM configuration, this may bypass the setting of
+# PasswordAuthentication, PermitEmptyPasswords, and
+# "PermitRootLogin without-password". If you just want the PAM account and
+# session checks to run without PAM authentication, then enable this but set
+# ChallengeResponseAuthentication=no
+#UsePAM no
+UsePAM yes
+
+# Accept locale-related environment variables
+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
+#AllowTcpForwarding yes
+AllowTcpForwarding yes
+#GatewayPorts no
+#X11Forwarding no
+X11Forwarding yes
+#X11DisplayOffset 10
+#X11UseLocalhost yes
+X11UseLocalhost yes
+#PrintMotd yes
+PrintMotd yes
+#PrintLastLog yes
+#TCPKeepAlive yes
+#UseLogin no
+#UsePrivilegeSeparation yes
+#PermitUserEnvironment no
+#Compression delayed
+#ClientAliveInterval 0
+ClientAliveInterval 0
+ClientAliveCountMax 3
+#ShowPatchLevel no
+#UseDNS yes
+UseDNS no
+#PidFile /var/run/sshd.pid
+#MaxStartups 10:30:100
+#MaxSessions 10
+
+#PermitTunnel no
+#ChrootDirectory none
+
+# no default banner path
+#Banner none
+Banner none
+
+# override default of no subsystems
+Subsystem sftp /usr/lib/openssh/sftp-server
+