Use key(and password-)less SSH authentication
This commit is contained in:
@@ -50,8 +50,8 @@ execute "mount -o bind $CACHEDIR $APTCACHE"
|
||||
echo " * Running debootstrap ..."
|
||||
execute "debootstrap --arch=$ROOTFSARCH --include=$PACKAGES $ROOTFSSUITE $LOOPDIR $ROOTFSMIRROR"
|
||||
|
||||
echo " * Setting root password to '$ROOTFSPW' ..."
|
||||
echo root:$ROOTFSPW | chroot $LOOPDIR chpasswd
|
||||
echo " * Disabling root password ..."
|
||||
chroot $LOOPDIR passwd -d root
|
||||
|
||||
echo " * Disabling services ..."
|
||||
for service in $SERVICES
|
||||
|
||||
@@ -96,67 +96,5 @@ echo "none /root/compile hostfs $ROOTFSCOMPILEDIR" >> $LOOPDIR/etc/fstab
|
||||
cecho " * Removing /etc/resolv.conf"
|
||||
rm -f $LOOPDIR/etc/resolv.conf
|
||||
|
||||
#####################################
|
||||
# preparing ssh for PK authentication
|
||||
#
|
||||
if [ ! -d ~/.ssh ]
|
||||
then
|
||||
cecho-n " * Creating directory '~/.ssh'.."
|
||||
mkdir ~/.ssh
|
||||
cgecho "done"
|
||||
fi
|
||||
|
||||
cecho-n " * Checking for ssh rsa key '~/.ssh/id_rsa.pub'.."
|
||||
if [ -f ~/.ssh/id_rsa.pub ]
|
||||
then
|
||||
cecho "already exists"
|
||||
else
|
||||
cecho "not found"
|
||||
cecho-n " * Generating ssh rsa key pair.."
|
||||
echo "" | ssh-keygen -N "" -t rsa -f ~/.ssh/id_rsa >> $LOGFILE 2>&1
|
||||
cgecho "done"
|
||||
fi
|
||||
|
||||
if [ -f ~/.ssh/known_hosts ]
|
||||
then
|
||||
cecho-n " * Backing up ~/.ssh/known_hosts to '~/.ssh/known_hosts.before_uml'.."
|
||||
cp -fp ~/.ssh/known_hosts ~/.ssh/known_hosts.before_uml
|
||||
cgecho "done"
|
||||
fi
|
||||
rm ~/.ssh/known_hosts
|
||||
cecho-n " * Creating new '~/.ssh/known_hosts'.."
|
||||
touch ~/.ssh/known_hosts
|
||||
cgecho "done"
|
||||
|
||||
for host in $HOSTNAMEIPV4
|
||||
do
|
||||
HOSTNAME=`echo $host | awk -F, '{ print $1 }'`
|
||||
IP=`echo $host | awk -F, '{ print $2 }'`
|
||||
cecho-n " * Adding uml host $HOSTNAME ($IP) to '~/.ssh/known_hosts'.."
|
||||
echo "$HOSTNAME,$IP `cat $LOOPDIR/etc/ssh/ssh_host_rsa_key.pub`" >> ~/.ssh/known_hosts
|
||||
cgecho "done"
|
||||
done
|
||||
|
||||
######################################################
|
||||
# copying the host's ssh public key
|
||||
#
|
||||
if [ ! -d $LOOPDIR/root/.ssh ]
|
||||
then
|
||||
mkdir $LOOPDIR/root/.ssh
|
||||
fi
|
||||
cp ~/.ssh/id_rsa.pub $LOOPDIR/root/.ssh/authorized_keys
|
||||
|
||||
######################################################
|
||||
# setup public key based login among all hosts
|
||||
#
|
||||
cp $LOOPDIR/etc/ssh/ssh_host_rsa_key $LOOPDIR/root/.ssh/id_rsa
|
||||
|
||||
for host in $STRONGSWANHOSTS
|
||||
do
|
||||
eval ip="`echo $HOSTNAMEIPV4 | sed -n -e "s/^.*${host},//gp" | awk -F- '{ print $1 }' | awk '{ print $1 }'`"
|
||||
echo "$host,$ip `cat $LOOPDIR/etc/ssh/ssh_host_rsa_key.pub`" >> $LOOPDIR/root/.ssh/known_hosts
|
||||
echo "`cat $LOOPDIR/etc/ssh/ssh_host_rsa_key.pub` root@$host" >> $LOOPDIR/root/.ssh/authorized_keys
|
||||
done
|
||||
|
||||
umount $LOOPDIR/proc
|
||||
umount $LOOPDIR
|
||||
|
||||
Reference in New Issue
Block a user