aboutsummaryrefslogtreecommitdiffstats
path: root/modules/openssh/manifests/init.pp
diff options
context:
space:
mode:
Diffstat (limited to 'modules/openssh/manifests/init.pp')
-rw-r--r--modules/openssh/manifests/init.pp39
1 files changed, 39 insertions, 0 deletions
diff --git a/modules/openssh/manifests/init.pp b/modules/openssh/manifests/init.pp
index e55660fd..d3d0c78c 100644
--- a/modules/openssh/manifests/init.pp
+++ b/modules/openssh/manifests/init.pp
@@ -22,4 +22,43 @@ class openssh {
require => Package["openssh-server"],
content => template("openssh/sshd_config")
}
+
+
+ class ssh_keys_from_ldap {
+
+ package { 'python-ldap':
+ ensure => installed,
+ }
+
+ $pubkeys_directory = "/var/lib/pubkeys"
+ file { $pubkeys_directory:
+ ensure => directory,
+ owner => root,
+ group => root,
+ mode => 755,
+ # before => Class["openssh"]
+ }
+
+ file { "$pubkeys_directory/root":
+ ensure => directory,
+ owner => root,
+ group => root,
+ mode => 700,
+ }
+
+ file { "$pubkeys_directory/root/authorized_keys":
+ ensure => "/root/.ssh/authorized_keys",
+ mode => 700,
+ }
+
+ $ldap_pwfile = "/etc/ldap.secret"
+ file { '/usr/local/bin/ldap-sshkey2file.py':
+ ensure => present,
+ owner => root,
+ group => root,
+ mode => 755,
+ content => template("restrictshell/ldap-sshkey2file.py"),
+ require => Package['python-ldap']
+ }
+ }
}