# Manage ssh config for a particular user
define ssh_config(
$owner,
+ $group,
$home = '/home/$owner',
$ssh_localhost_auth = false
) {
- include nodo::subsystem::ssh_folder
+ class { "nodo::subsystem::ssh_folder":
+ home => $home,
+ owner => $owner,
+ group => $group,
+ }
file { "${home}/.ssh/config":
ensure => present,
$keyfile = 'id_rsa',
$home = '/home/$owner'
) {
- include nodo::subsystem::ssh_folder
+ class { "nodo::subsystem::ssh_folder":
+ home => $home,
+ owner => $owner,
+ group => $group,
+ }
exec { "ssh-keygen-${owner}":
command => "ssh-keygen -t rsa -P '' -f ${home}/.ssh/${keyfile}",
$home = '/home/$owner',
$ssh_localhost_auth = false
) {
- include nodo::subsystem::ssh_folder
+ class { "nodo::subsystem::ssh_folder":
+ home => $home,
+ owner => $owner,
+ group => $group,
+ }
file { "${home}/.ssh/known_hosts":
ensure => present,
$dest = 'id_rsa',
$ensure = 'present',
) {
- include nodo::subsystem::ssh_folder
+ class { "nodo::subsystem::ssh_folder":
+ home => $home,
+ owner => $owner,
+ group => $group,
+ }
file { "${home}/.ssh/${dest}":
ensure => $ensure,
# Base class
-class nodo::subsystem::ssh_folder {
+class nodo::subsystem::ssh_folder(
+ $home,
+ $owner,
+ $group,
+) {
if !defined(File["${home}/.ssh"]) {
file { "${home}/.ssh":
ensure => directory,