summaryrefslogtreecommitdiff
path: root/manifests/agent/generate_sshkey.pp
diff options
context:
space:
mode:
authorvarac <varacanero@zeromail.org>2013-07-15 09:27:27 +0200
committervarac <varacanero@zeromail.org>2013-07-15 09:27:27 +0200
commit80322f255030846d27a2997807046fdbe1ffbb2a (patch)
tree3e4c1f94ae0b3c4e50b129fdef488448ebd981a9 /manifests/agent/generate_sshkey.pp
parent06fc5e7cd019a4b6badc8ed074bac58e7c91b930 (diff)
ssh support for agent
Diffstat (limited to 'manifests/agent/generate_sshkey.pp')
-rw-r--r--manifests/agent/generate_sshkey.pp42
1 files changed, 42 insertions, 0 deletions
diff --git a/manifests/agent/generate_sshkey.pp b/manifests/agent/generate_sshkey.pp
new file mode 100644
index 0000000..72dcb25
--- /dev/null
+++ b/manifests/agent/generate_sshkey.pp
@@ -0,0 +1,42 @@
+define check_mk::agent::client::generate_sshkey(
+ $ssh_key_basepath = '/etc/puppet/modules/keys/files/check_mk_keys',
+ $user = 'monitoring',
+ $group = 'monitoring',
+ $homedir = '/omd/sites/monitoring',
+ $check_mk_tag = 'check_mk_sshkey'
+){
+
+ # generate backupninja ssh keypair
+ $ssh_key_name = "monitoring_${::fqdn}_id_rsa"
+ $ssh_keys = ssh_keygen("${ssh_key_basepath}/${ssh_key_name}")
+ $public = split($ssh_keys[1],' ')
+ $public_type = $public[0]
+ $public_key = $public[1]
+ $secret_key = $ssh_keys[0]
+
+ sshd::ssh_authorized_key { $ssh_key_name:
+ type => 'ssh-rsa',
+ key => $public_key,
+ user => 'root',
+ options => 'command="/usr/bin/check_mk_agent"';
+ }
+
+ @@file { "${homedir}/.ssh/${ssh_key_name}":
+ content => $secret_key,
+ owner => $user,
+ group => $group,
+ mode => '0600',
+ tag => $check_mk_tag;
+ }
+
+
+ @@file { "${homedir}/.ssh/${ssh_key_name}.pub":
+ content => $public_key,
+ owner => $user,
+ group => $group,
+ mode => '0666',
+ tag => $check_mk_tag;
+ }
+
+
+}