49 lines
1.0 KiB
Bash
Executable File
49 lines
1.0 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
keytype=rsa
|
|
keybits=5888
|
|
|
|
if [ "x" != "x$2" ]
|
|
then
|
|
keybits=$2
|
|
fi
|
|
|
|
if [ -z $1 ]
|
|
then
|
|
echo "Need a hostname"
|
|
exit
|
|
fi
|
|
target=$1
|
|
echo target: ${target}
|
|
targetname=${target}
|
|
echo targetname=${targetname}
|
|
hostname=$( (hostname -s) )
|
|
hostname="${hostname}${CSHENV_MACHINE_SUFFIX}"
|
|
echo hostname: ${hostname}
|
|
keyname=id_${hostname}-${targetname}
|
|
echo keyname: ${keyname}
|
|
echo keybits: ${keybits}
|
|
|
|
#echo rm -f ${keyname}
|
|
#rm -f ${keyname}
|
|
|
|
#exit
|
|
|
|
mkdir -p ~/.ssh/newkeys
|
|
#echo rm -f ${keyname}
|
|
rm -f ~/.ssh/newkeys/${keyname}
|
|
|
|
ssh-keygen -N "" -t ${keytype} -b ${keybits} -V +6w -f ~/.ssh/newkeys/${keyname}
|
|
|
|
keytext=$(<~/.ssh/newkeys/${keyname}.pub)
|
|
rm ~/.ssh/newkeys/${keyname}.pub
|
|
|
|
ssh ${target} \
|
|
"\
|
|
mkdir -p .ssh/incoming; rm -f .ssh/incoming/${keyname};\
|
|
echo ${keytext} >> .ssh/incoming/id_${hostname}.pub; \
|
|
cat .ssh/incoming/id_${hostname}.pub >> .ssh/authorized_keys; \
|
|
mkdir -p .ssh/valid; mv .ssh/incoming/id_${hostname}.pub .ssh/valid; cat .ssh/valid/* > .ssh/authorized_keys;\
|
|
"
|
|
|
|
mv ~/.ssh/newkeys/${keyname} ~/.ssh/${keyname}
|