May I suggest using this recipe
http://reductivelabs.com/trac/puppet/wiki/Recipes/ModuleSSHAuth ?
It's more recent and uses the ssh_authorized_key resource in puppet.
Silviu
Andre Timmermann wrote:
Hi,
I am trying to manage the file authorized_keys with puppet. I am using
http://reductivelabs.com/trac/puppet/wiki/Recipes/Authorized_keys as
reference.
I was not able to delete an unwanted key from the file. Unfortuantely
there are "/" within the key:
ssh-rsa AAAAB3NzaC1yc2EAA/5GytXDjAR3XoxTR6uM= test...@test
This is a problem for the perl-command:
debug: Executing '/usr/bin/perl -ni -e 'print unless /^\Qssh-rsa
AAAAB3NzaC1yc2EAA/5GytXDjAR3XoxTR6uM= test...@test
\E$/' '/root/.ssh/authorized_keys''
err:
//nine_authorized_keys/Nine_authorized_keys::Nine_authorized_keys::Revoke[test]/Line[remove-key-test]/Exec[remove
from file remove-key-test]/returns: change from notrun to 0 failed:
/usr/bin/perl -ni -e 'print unless /^\Qssh-rsa
AAAAB3NzaC1yc2EAA/5GytXDjAR3XoxTR6uM= test...@test
\E$/' '/root/.ssh/authorized_keys' returned 255 instead of one of [0]
at /etc/puppet/development/definitions/line.pp:25
The perl-oneliner gives the following error due to the "/" in the key.
Number found where operator expected at -e line 1, near "/^\Qssh-rsa
AAAAB3NzaC1yc2EAA/5"
(Missing operator before 5?)
In order to use /bin/sed, I have to escape the "/", wich is not a
problem. I have found a function for that in the SimpleTextRecipes.
Unfortunately, there is an "\n" at the end of the line, so that the sed
throws an error, too:
debug: Executing '/bin/sed -i '/ssh-rsa AAAAB3NzaC1yc2EAA
\/5GytXDjAR3XoxTR6uM=
test...@test
/d'
'/root/.ssh/authorized_keys''
err: //nine_authorized_keys/Nine_authorized_keys::Nine_authorized_keys::Revoke[test]/Line[remove-key-test]/Exec[remove from file remove-key-test]/returns: change from notrun to 0 failed: /bin/sed -i '/ssh-rsa AAAAB3NzaC1yc2EAA\/5GytXDjAR3XoxTR6uM= test...@test
/d' '/root/.ssh/authorized_keys' returned 1 instead of one of [0]
at /etc/puppet/development/definitions/line.pp:25
If I run the sed without the "\n" between "test...@test" and "/d'" the
sed itself works.
Can anyone give me a hint how to either make perl ignore the "/" within
the key or to get rid of the "/n" when using sed? Perl did not remove
the line if I use the escaped "/".
Greetz,
Andre
--
You received this message because you are subscribed to the Google Groups
"Puppet Users" group.
To post to this group, send email to puppet-us...@googlegroups.com.
To unsubscribe from this group, send email to
puppet-users+unsubscr...@googlegroups.com.
For more options, visit this group at
http://groups.google.com/group/puppet-users?hl=en.