add 20.04 support
diff --git a/manifests/init.pp b/manifests/init.pp
index 66788b9..4c02f0f 100644
--- a/manifests/init.pp
+++ b/manifests/init.pp
@@ -248,7 +248,34 @@
           $default_sshd_gssapicleanupcredentials      = 'yes'
           $default_sshd_acceptenv                     = true
           $default_service_hasstatus                  = true
-          $default_sshd_config_serverkeybits          = '1024'
+          $default_sshd_config_serverkeybits          = undef
+          $default_sshd_addressfamily                 = 'any'
+          $default_sshd_config_tcp_keepalive          = 'yes'
+          $default_sshd_config_permittunnel           = 'no'
+        }
+        '20.04': {
+          $default_sshd_config_hostkey = [
+            '/etc/ssh/ssh_host_rsa_key',
+            '/etc/ssh/ssh_host_dsa_key',
+            '/etc/ssh/ssh_host_ecdsa_key',
+            '/etc/ssh/ssh_host_ed25519_key',
+          ]
+          $default_ssh_config_hash_known_hosts        = 'yes'
+          $default_sshd_config_xauth_location         = undef
+          $default_ssh_config_forward_x11_trusted     = 'yes'
+          $default_ssh_package_source                 = undef
+          $default_ssh_package_adminfile              = undef
+          $default_ssh_sendenv                        = true
+          $default_sshd_config_subsystem_sftp         = '/usr/lib/openssh/sftp-server'
+          $default_sshd_config_mode                   = '0600'
+          $default_sshd_config_use_dns                = 'yes'
+          $default_sshd_use_pam                       = 'yes'
+          $default_sshd_gssapikeyexchange             = undef
+          $default_sshd_pamauthenticationviakbdint    = undef
+          $default_sshd_gssapicleanupcredentials      = 'yes'
+          $default_sshd_acceptenv                     = true
+          $default_service_hasstatus                  = true
+          $default_sshd_config_serverkeybits          = undef
           $default_sshd_addressfamily                 = 'any'
           $default_sshd_config_tcp_keepalive          = 'yes'
           $default_sshd_config_permittunnel           = 'no'
diff --git a/metadata.json b/metadata.json
index 3ca9272..e0fb1b0 100644
--- a/metadata.json
+++ b/metadata.json
@@ -85,6 +85,7 @@
         "14.04",
         "16.04",
         "18.04"
+        "20.04"
       ]
     }
   ],
diff --git a/spec/classes/init_spec.rb b/spec/classes/init_spec.rb
index 5ca3914..74cdfc8 100644
--- a/spec/classes/init_spec.rb
+++ b/spec/classes/init_spec.rb
@@ -258,6 +258,19 @@
       :sshd_config_fixture    => 'sshd_config_ubuntu1804',
       :ssh_config_fixture     => 'ssh_config_ubuntu1804',
     },
+    'Ubuntu-2004' => {
+      :architecture           => 'x86_64',
+      :osfamily               => 'Debian',
+      :operatingsystemrelease => '20.04',
+      :ssh_version            => 'OpenSSH_8.2p1'
+      :ssh_version_numeric    => '8.2',
+      :ssh_packages           => ['openssh-server', 'openssh-client'],
+      :sshd_config_mode       => '0600',
+      :sshd_service_name      => 'ssh',
+      :sshd_service_hasstatus => true,
+      :sshd_config_fixture    => 'sshd_config_ubuntu2004',
+      :ssh_config_fixture     => 'ssh_config_ubuntu2004',
+    },
   }
 
   osfamily_matrix.each do |os, facts|