Report abuse

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
34
35
36
37
38
39
40
41
42
43
44
45
46
        ###
        # Possible replacement for the above code. Add SSH key to existing
        # account without replacing the file.
        ###
        define key ($ensure = 'present', $destuser = '$name') {
                case $ensure {
                        present:  {
                                $group = generate("/usr/bin/id","-g","$name")
                                file {
                                        "/home/$destuser":
                                        ensure  => directory,
                                        owner   => $destname,
                                        group   => $group;

                                        "/home/$destname/.ssh":
                                        ensure  => directory,
                                        owner   => $destname,
                                        group   => $group,
                                        mode    => 700,
                                        require => File["/home/$destname"];

                                        "/home/$destname/.ssh/authorized_keys":
                                        ensure  => present,
                                        owner   => $destname,
                                        group   => $group,
                                        mode    => 644,
                                        require => File["/home/$destname/.ssh"],
                                }

                                $key = file("/etc/puppet/files/idcadmin/auth/keys/$name.pub")
                                line {
                                        "append_auth_key_$name":
                                        line    => $key,
                                        ensure  => present,
                                        require => File["/home/$destname/.ssh/authorized_keys"],
                                        file    => "/home/$destname/.ssh/authorized_keys";
                                }
                        }
                }

        }

       auth::key { "add users to auto-login of parabuild userid":
                       [ bob: ensure => present, destuser => idc, 
                       joe: ensure => present, destuser => idc, ]
       }