1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
class sshd::base {
file { 'sshd_config':
path => '/etc/ssh/sshd_config',
content => $lsbdistcodename ? {
'' => template("sshd/sshd_config/${operatingsystem}.erb"),
default => template ("sshd/sshd_config/${operatingsystem}_${lsbdistcodename}.erb"),
},
notify => Service[sshd],
owner => root, group => 0, mode => 600;
}
# Now add the key, if we've got one
case $sshrsakey {
'': { info("no sshrsakey on $fqdn") }
default: {
@@sshkey{"$fqdn":
tag => "fqdn",
type => ssh-rsa,
key => $sshrsakey,
ensure => present,
}
# In case the node has an internal network address,
# we don't define a sshkey resource using an IP address
if $sshd_internal_ip == "no" {
@@sshkey{"$ipaddress":
tag => "ipaddress",
type => ssh-rsa,
key => $sshrsakey,
ensure => present,
}
}
}
}
service{'sshd':
name => 'sshd',
enable => true,
ensure => running,
hasstatus => true,
require => File[sshd_config],
}
}
|