]> git.donarmstrong.com Git - dsa-puppet.git/blob - modules/ssh/manifests/init.pp
this should virtually work
[dsa-puppet.git] / modules / ssh / manifests / init.pp
1 class ssh {
2         package {
3                 openssh-client: ensure => installed;
4                 openssh-server: ensure => installed;
5         }
6
7         case $hostname {
8                 bartok, beethoven: {
9                     $keyinfo = allnodeinfo("sshRSAHostKey", "ipHostNumber")
10                 }
11         }
12
13
14         file { "/etc/ssh/ssh_config":
15                 source  => [ "puppet:///ssh/ssh_config" ],
16                 require => Package["openssh-client"]
17                 ;
18                "/etc/ssh/sshd_config":
19                 content => template("ssh/sshd_config.erb"),
20                 require => Package["openssh-server"],
21                 notify  => Exec["ssh restart"]
22                 ;
23               "/etc/ssh/userkeys":
24                 ensure  => directory,
25                 owner   => root,
26                 group   => root,
27                 mode    => 755,
28                 ;
29               "/etc/ssh/userkeys/root":
30                 content => template("ssh/authorized_keys.erb"),
31                 mode    => 444,
32                 require => Package["openssh-server"]
33                 ;
34         }
35
36         exec { "ssh restart":
37             path        => "/etc/init.d:/usr/bin:/usr/sbin:/bin:/sbin",
38             refreshonly => true,
39         }
40
41         @ferm::rule { "dsa-ssh":
42                 description     => "Allow SSH from DSA",
43                 rule            => "proto tcp mod state state (NEW) dport (ssh) @subchain 'ssh' { saddr (\$SSH_SOURCES) ACCEPT; }"
44         }
45         @ferm::rule { "dsa-ssh-v6":
46                 description     => "Allow SSH from DSA",
47                 domain          => "ip6",
48                 rule            => "proto tcp mod state state (NEW) dport (ssh) @subchain 'ssh' { saddr (\$SSH_V6_SOURCES) ACCEPT; }"
49         }
50 }