puppet 4 foo
[mirror/dsa-puppet.git] / modules / ssh / manifests / init.pp
index b7df181..fc576f8 100644 (file)
@@ -5,17 +5,18 @@ class ssh {
        }
 
        service { 'ssh':
-               ensure => running
+               ensure  => running,
+               require => Package['openssh-server']
        }
 
        @ferm::rule { 'dsa-ssh':
                description => 'Allow SSH from DSA',
-               rule        => '&SERVICE_RANGE(tcp, ssh, \$SSH_SOURCES)'
+               rule        => '&SERVICE_RANGE(tcp, ssh, $SSH_SOURCES)'
        }
        @ferm::rule { 'dsa-ssh-v6':
                description => 'Allow SSH from DSA',
                domain      => 'ip6',
-               rule        => '&SERVICE_RANGE(tcp, ssh, \$SSH_V6_SOURCES)'
+               rule        => '&SERVICE_RANGE(tcp, ssh, $SSH_V6_SOURCES)'
        }
 
        file { '/etc/ssh/ssh_config':
@@ -35,4 +36,18 @@ class ssh {
        file { '/etc/ssh/userkeys/root':
                content => template('ssh/authorized_keys.erb'),
        }
+
+       if ($::lsbmajdistrelease >= '8') {
+               if ! $has_etc_ssh_ssh_host_ed25519_key {
+                       exec { 'create-ed25519-host-key':
+                               command => 'ssh-keygen -f /etc/ssh/ssh_host_ed25519_key -q -P "" -t ed25519',
+                       }
+               }
+
+               if $systemd {
+                       package { [ 'libpam-systemd' ]:
+                               ensure => installed
+                       }
+               }
+       }
 }