From 4b6f3a17dc619141628161b927efd9689f15fc22 Mon Sep 17 00:00:00 2001 From: Alex Landau Date: Sun, 7 Dec 2008 11:51:58 +0000 Subject: rapid-tunneling: - Changed client to use OpenSSH instead of Dropbear. git-svn-id: svn+ssh://xorcom/home/svn/debs/components/rapid-tunneling@6419 283159da-0705-0410-b60c-f2062b4bb6ad --- rapid-tunneling | 39 +++++++++++++++++++++------------------ 1 file changed, 21 insertions(+), 18 deletions(-) diff --git a/rapid-tunneling b/rapid-tunneling index 02ae4e7..97bf167 100755 --- a/rapid-tunneling +++ b/rapid-tunneling @@ -5,23 +5,26 @@ if [ -z "$1" ]; then exit 1 fi -rm -rf /tmp/ra -mkdir -m 700 /tmp/ra -mkdir /tmp/ra/recv /tmp/ra/send -gunzip -cf $1 | tar xf - -C /tmp/ra/recv -dropbearconvert openssh dropbear /tmp/ra/recv/key /tmp/ra/recv/key.db -chmod 600 /tmp/ra/recv/key.db -user=`cat /tmp/ra/recv/user` -host=`cat /tmp/ra/recv/host` -port=`cat /tmp/ra/recv/port` -tunnelport=`cat /tmp/ra/recv/tunnelport` +tmpdir=`mktemp -d` +mkdir $tmpdir/recv $tmpdir/send +tar xzf "$1" -C $tmpdir/recv +user=`cat $tmpdir/recv/user` +host=`cat $tmpdir/recv/host` +port=`cat $tmpdir/recv/port` +tunnelport=`cat $tmpdir/recv/tunnelport` -dropbearkey -t rsa -f /tmp/ra/send/key.db | grep '^ssh-rsa ' > /tmp/ra/send/key.pub -dropbearconvert dropbear openssh /tmp/ra/send/key.db /tmp/ra/send/key -cp /tmp/ra/recv/key /tmp/ra/send/origkey -tar czf /tmp/ra/send/ra-params.tar.gz -C /tmp/ra/send key origkey +ssh-keygen -q -t rsa -C rapid-tunneling -N "" -f $tmpdir/send/key # public will be in key.pub +cp $tmpdir/recv/key $tmpdir/send/origkey +cp $tmpdir/recv/key $HOME/key +tar czf $HOME/ra-params.tar.gz -C $tmpdir/send key origkey -mkdir -m 700 /tmp/ra/.ssh -cat /tmp/ra/send/key.pub >> /tmp/ra/.ssh/authorized_keys -chmod 644 /tmp/ra/.ssh/authorized_keys -start-stop-daemon -S -b -x /bin/sh -- -c "ssh -y -K 10 -T -p $port -i /tmp/ra/recv/key.db -R $tunnelport:127.0.0.1:22 -l $user $host < /tmp/ra/send/ra-params.tar.gz" +mkdir -p -m 700 $HOME/.ssh +awk '$NF != "rapid-tunneling" {print}' $HOME/.ssh/authorized_keys > $HOME/.ssh/authorized_keys.new 2>/dev/null +cat $tmpdir/send/key.pub >> $HOME/.ssh/authorized_keys.new +mv -f $HOME/.ssh/authorized_keys.new $HOME/.ssh/authorized_keys +chmod 644 $HOME/.ssh/authorized_keys +rm -rf $tmpdir +# Remove host key of $host (in case it has changed) +ssh-keygen -R $host +# Run in background +setsid ssh -o 'StrictHostKeyChecking no' -o 'BatchMode yes' -o 'ServerAliveInterval 60' -T -p $port -i $HOME/key -R $tunnelport:127.0.0.1:22 -l $user $host < $HOME/ra-params.tar.gz -- cgit v1.2.3