From 5a34f35327c4a0db2f550df46c291f17deb15512 Mon Sep 17 00:00:00 2001 From: Peter Palfrader Date: Sat, 7 Sep 2019 23:06:50 +0200 Subject: [PATCH] Add an ssh::keygen to create userkeys --- modules/ssh/manifests/keygen.pp | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 modules/ssh/manifests/keygen.pp diff --git a/modules/ssh/manifests/keygen.pp b/modules/ssh/manifests/keygen.pp new file mode 100644 index 000000000..7f010206d --- /dev/null +++ b/modules/ssh/manifests/keygen.pp @@ -0,0 +1,20 @@ +# create an ssh key for user +define ssh::keygen( + String $user = $name, +) { + if $facts["${user}_user_exists"] == undef { + notify{"We do not have facters for user ${user} existance and keys -- add it to modules/debian_org/lib/facter/roleaccounts.rb": } + } + if $facts["${user}_user_exists"] { + if ! $facts["${user}_key"] { + exec { "create-${user}-ssh-key": + command => @("EOF"), + /bin/su - ${user} -c 'mkdir -p -m 02700 .ssh && ssh-keygen -C "`whoami`@`hostname` (`date +%Y-%m-%d`)" -P "" -f .ssh/id_rsa -q' + | EOF + onlyif => "/usr/bin/getent passwd ${user} > /dev/null && ! [ -e ~${user}/.ssh/id_rsa ]" + } + } + } else { + notify{"User ${user} does not exist on this host. Will not create ssh key": } + } +} -- 2.20.1