diff options
Diffstat (limited to 'manifests/subsystem/ssh/config.pp')
-rw-r--r-- | manifests/subsystem/ssh/config.pp | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/manifests/subsystem/ssh/config.pp b/manifests/subsystem/ssh/config.pp new file mode 100644 index 0000000..6c9fbc3 --- /dev/null +++ b/manifests/subsystem/ssh/config.pp @@ -0,0 +1,35 @@ +# Manage ssh config for a particular user +define nodo::subsystem::ssh::config( + $owner, + $group, + $home = '/home/$owner', + $ssh_localhost_auth = false +) { + nodo::subsystem::ssh::folder { "ssh-config-${name}": + home => $home, + owner => $owner, + group => $group, + } + + file { "${home}/.ssh/config": + ensure => present, + owner => $owner, + group => $group, + mode => 0600, + require => File["${home}/.ssh"], + } + + # The NoHostAuthenticationForLocalhost ssh option might be useful + # for automated deployment environments so your ikiwiki user doesn't + # get stuck with the fingerprint confirmation prompt when pushing + # content via ssh in the first time it runs. + line { 'NoHostAuthenticationForLocalhost-${owner}': + file => "${home}/.ssh/config", + line => "NoHostAuthenticationForLocalhost yes", + ensure => $ssh_localhost_auth ? { + 'auto' => present, + 'fingerprint' => absent, + default => absent, + }, + } +} |