ssh_authorized_key.pp 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. # wrapper to have some defaults.
  2. define sshd::ssh_authorized_key(
  3. $ensure = 'present',
  4. $type = 'ssh-dss',
  5. $key = 'absent',
  6. $user = '',
  7. $target = undef,
  8. $options = 'absent'
  9. ){
  10. if ($ensure=='present') and ($key=='absent') {
  11. fail("You have to set \$key for Sshd::Ssh_authorized_key[${name}]!")
  12. }
  13. $real_user = $user ? {
  14. false => $name,
  15. '' => $name,
  16. default => $user,
  17. }
  18. case $target {
  19. undef,'': {
  20. case $real_user {
  21. 'root': { $real_target = '/root/.ssh/authorized_keys' }
  22. default: { $real_target = "/home/${real_user}/.ssh/authorized_keys" }
  23. }
  24. }
  25. default: {
  26. $real_target = $target
  27. }
  28. }
  29. ssh_authorized_key{$name:
  30. ensure => $ensure,
  31. type => $type,
  32. key => $key,
  33. user => $real_user,
  34. target => $real_target,
  35. }
  36. case $options {
  37. 'absent': { info("not setting any option for ssh_authorized_key: ${name}") }
  38. default: {
  39. Ssh_authorized_key[$name]{
  40. options => $options,
  41. }
  42. }
  43. }
  44. }