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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
class site_sshd {
$ssh = hiera_hash('ssh')
$hosts = hiera('hosts', '')
##
## SETUP AUTHORIZED KEYS
##
$authorized_keys = $ssh['authorized_keys']
class { 'site_sshd::deploy_authorized_keys':
keys => $authorized_keys
}
##
## SETUP KNOWN HOSTS and SSH_CONFIG
##
file {
'/etc/ssh/ssh_known_hosts':
owner => root,
group => root,
mode => '0644',
content => template('site_sshd/ssh_known_hosts.erb');
'/etc/ssh/ssh_config':
owner => root,
group => root,
mode => '0644',
content => template('site_sshd/ssh_config.erb');
}
##
## OPTIONAL MOSH SUPPORT
##
$mosh = $ssh['mosh']
if $mosh['enabled'] {
class { 'site_sshd::mosh':
ensure => present,
ports => $mosh['ports']
}
}
else {
class { 'site_sshd::mosh':
ensure => absent
}
}
##
## SSHD SERVER CONFIGURATION
##
class { '::sshd':
manage_nagios => false,
ports => [ $ssh['port'] ],
use_pam => 'yes',
hardened_ssl => 'yes',
print_motd => 'no',
manage_client => false
}
}
|