X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Fssh%2Fmanifests%2Finit.pp;h=452ce5dfbaaa24e91e047650d03b00e9dc4aceee;hb=131d1d904fb3e556c4b46ac3c00c9861ae95e0c1;hp=75fb47597466e4c181b174559659154067eb0d98;hpb=0d5176e1034bd04ce9c76d790caa819f8b8d5341;p=mirror%2Fdsa-puppet.git diff --git a/modules/ssh/manifests/init.pp b/modules/ssh/manifests/init.pp index 75fb47597..452ce5dfb 100644 --- a/modules/ssh/manifests/init.pp +++ b/modules/ssh/manifests/init.pp @@ -4,13 +4,47 @@ class ssh { openssh-server: ensure => installed; } + case $hostname { + bartok, beethoven: { + $keyinfo = allnodeinfo("sshRSAHostKey", "ipHostNumber") + } + } + + file { "/etc/ssh/ssh_config": source => [ "puppet:///ssh/ssh_config" ], require => Package["openssh-client"] ; "/etc/ssh/sshd_config": content => template("ssh/sshd_config.erb"), - require => Package["openssh-server"] + require => Package["openssh-server"], + notify => Exec["ssh restart"] + ; + "/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"] ; } + + exec { "ssh restart": + path => "/etc/init.d:/usr/bin:/usr/sbin:/bin:/sbin", + refreshonly => true, + } + + ferm::rule { "dsa-ssh": + description => "Allow SSH from DSA", + rule => "proto tcp mod state state (NEW) dport (ssh) @subchain 'ssh' { saddr (\$SSH_SOURCES) ACCEPT; }" + } + ferm::rule { "dsa-ssh-v6": + description => "Allow SSH from DSA", + domain => "ip6", + rule => "proto tcp mod state state (NEW) dport (ssh) @subchain 'ssh' { saddr (\$SSH_V6_SOURCES) ACCEPT; }" + } }