X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=modules%2Fssh%2Fmanifests%2Finit.pp;h=d86093ef347e658258c5861f266af8de9c2966e8;hb=42e035e6b12014dcedf9d70bb7a253c3dec4653d;hp=a9161888887e2c7aa68d257ddc2a5e00b5870918;hpb=4787bbcdefd4b94330746589d40808d5ce02ff9e;p=dsa-puppet.git diff --git a/modules/ssh/manifests/init.pp b/modules/ssh/manifests/init.pp index a9161888..d86093ef 100644 --- a/modules/ssh/manifests/init.pp +++ b/modules/ssh/manifests/init.pp @@ -1,46 +1,53 @@ class ssh { - package { - openssh-client: ensure => installed; - openssh-server: ensure => installed; - } - file { "/etc/ssh/ssh_config": - content => template("ssh/ssh_config.erb"), - require => Package["openssh-client"] - ; - "/etc/ssh/sshd_config": - content => template("ssh/sshd_config.erb"), - require => Package["openssh-server"], - notify => Exec["ssh restart"] - ; - "/etc/ssh/userkeys": + package { [ 'openssh-client', 'openssh-server']: + ensure => installed + } + + service { 'ssh': + ensure => running, + require => Package['openssh-server'] + } + + @ferm::rule { 'dsa-ssh': + description => 'Allow SSH from DSA', + 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)' + } + + file { '/etc/ssh/ssh_config': + content => template('ssh/ssh_config.erb'), + require => Package['openssh-client'] + } + file { '/etc/ssh/sshd_config': + content => template('ssh/sshd_config.erb'), + require => Package['openssh-server'], + notify => Service['ssh'] + } + file { '/etc/ssh/userkeys': ensure => directory, - owner => root, - group => root, - mode => 755, - ; - "/etc/ssh/userkeys/root": - content => template("ssh/authorized_keys.erb"), - mode => 444, - require => Package["openssh-server"] - ; + mode => '0755', + require => Package['openssh-server'] + } + file { '/etc/ssh/userkeys/root': + content => template('ssh/authorized_keys.erb'), } - exec { "ssh restart": - path => "/etc/init.d:/usr/bin:/usr/sbin:/bin:/sbin", - refreshonly => true, - } + 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', + } + } - @ferm::rule { "dsa-ssh": - description => "Allow SSH from DSA", - 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)" - } + if $systemd { + package { [ 'libpam-systemd' ]: + ensure => installed + } + } + } } -# vim:set et: -# vim:set sts=4 ts=4: -# vim:set shiftwidth=4: