aboutsummaryrefslogtreecommitdiff
path: root/manifests/init.pp
diff options
context:
space:
mode:
Diffstat (limited to 'manifests/init.pp')
-rw-r--r--manifests/init.pp43
1 files changed, 42 insertions, 1 deletions
diff --git a/manifests/init.pp b/manifests/init.pp
index 07edc2a..1fc043f 100644
--- a/manifests/init.pp
+++ b/manifests/init.pp
@@ -46,13 +46,17 @@ class sshd {
define sshd::sshd_config (
$source = "",
- $allowed_users = 'root'
){
$real_source = $source ? {
'' => "${operatingsystem}_normal.erb",
default => $source,
}
+ $real_allowed_users = ? $sshd_allowed_users ? {
+ '' => 'root',
+ default => $sshd_allowed_users,
+ }
+
file { 'sshd_config':
path => '/etc/ssh/sshd_config',
owner => root,
@@ -65,3 +69,40 @@ define sshd::sshd_config (
},
}
}
+
+define sshd::deploy_auth_key(
+ $source => '',
+ $user = 'root',
+ $target_dir = '/root/.ssh/',
+ $group = '' ) {
+
+ $real_target = $target_dir ? {
+ '' => "/home/$user/.ssh/",
+ default => $target_dir,
+ }
+
+ $real_group = $group ? {
+ '' => 0,
+ default => $group,
+ }
+
+ $real_source = $source ? {
+ '' => "sshd/authorized_keys/${name}",
+ default => $source,
+ }
+
+ file {$real_target:
+ ensure => directory,
+ owner => $user,
+ group => $real_group,
+ mode => 700,
+ }
+
+ file {"authorized_keys_${user}":
+ path => "$real_target/authorized_keys",
+ owner => $user,
+ group => $real_group,
+ mode => 600,
+ source => "puppet://$server/$source",
+ }
+}