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
|
# File 'lib/puppet/functions/sshkeys/sshkey.rb', line 1
Puppet::Functions.create_function(:sshkeys::sshkey') do
def ensure_key(key_dir, key_name, passphrase, , type, size)
if ! Dir.exists?(key_dir)
Dir.mkdir(key_dir)
end
key_file = "#{key_dir}/#{key_name}"
if ! File.exist?(key_file)
cmd = "/usr/bin/ssh-keygen -C '#{}' -N '#{passphrase}' -t #{type} -b #{size} -f #{key_file}"
system(cmd)
end
key_file
end
def sshkey(key_name, pub=false, passphrase='', ='', type='rsa', size='2048')
if pub
ext = '.pub'
else
ext = ''
end
key_dir = '/etc/puppetlabs/puppetserver/sshkeys'
key_file = ensure_key(key_dir, key_name, passphrase, , type, size)
target = key_file + ext
if File.exists?(target)
result = File.read(key_file + ext)
else
result = nil
end
result
end
end
|