#set ssh_keys = $getVar("push_ssh_keys", "/root/.ssh/id_rsa.pub") #if $ssh_keys != "" #set user_name = $getVar("username", "root") #if $user_name == "root" #set home = "/root" #else #set home = "/home/%s" % $user_name #end if <file> <file_path>$home/.ssh/authorized_keys</file_path> <file_owner>${user_name}.${user_name}</file_owner> <file_permissions>600</file_permissions> <file_script> <interpreter>shell</interpreter> <source> <![CDATA[ \#!/bin/bash mkdir -p $home/.ssh chmod 700 -R $home/.ssh #set $firstline = True #for $ssh_key in $ssh_keys.split(',') #if not $ssh_key #continue #end if #try #set f = $open($ssh_key) #if $firstline cat << EOL > $home/.ssh/authorized_keys #echo $f.read() EOL #else cat << EOL >> $home/.ssh/authorized_keys #echo $f.read() EOL #end if #set $firstline = False #silent $f.close() #except # failed to read from $ssh_key #end try #end for ]]> </source> </file_script> </file> #end if