47 lines
1.1 KiB
XML
47 lines
1.1 KiB
XML
#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
|