summaryrefslogtreecommitdiff
path: root/rtadm
diff options
context:
space:
mode:
authorAlex Landau <alex.landau@xorcom.com>2008-12-14 14:47:43 +0000
committerAlex Landau <alex.landau@xorcom.com>2008-12-14 14:47:43 +0000
commit626edff649102539c65156f7191595957e711aec (patch)
tree3f8b86bba17c8954aae3535a760d309861172502 /rtadm
parent80ccc8a0cff45fff33c2d90f1e9118ea80658d9c (diff)
rapid-tunneling:
- Created server part RPM. git-svn-id: svn+ssh://xorcom/home/svn/debs/components/rapid-tunneling@6470 283159da-0705-0410-b60c-f2062b4bb6ad
Diffstat (limited to 'rtadm')
-rwxr-xr-xrtadm44
1 files changed, 25 insertions, 19 deletions
diff --git a/rtadm b/rtadm
index c51df44..e1e8746 100755
--- a/rtadm
+++ b/rtadm
@@ -1,35 +1,42 @@
#!/bin/sh
-FROM_REMOTE_COMMAND=/usr/local/bin/from-remote
-HOSTNAME=tunnel.vserver
-PORT=2222
USERNAME=support
+FROM_REMOTE_COMMAND=/usr/sbin/rt-from-remote
+
+[ -r /etc/default/rtadm ] && . /etc/default/rtadm
+[ -r /etc/sysconfig/rtadm ] && . /etc/sysconfig/rtadm
+
+if [ -z "$HOSTNAME" -o -z "$PORT" ]; then
+ echo "ERROR: Hostname or port not set in configuration file." 1>&2
+ exit 1
+fi
create()
{
set -e
- KEY=tmp/key
TUNNEL_PORT=$1
COMMENT=$2
- rm -rf tmp
- mkdir tmp
+ rm -rf ~/tmp
+ mkdir ~/tmp
key_comment=ra-$TUNNEL_PORT-$COMMENT-`date '+%Y%m%d%H%M%S'`
- ssh-keygen -q -t rsa -f tmp/key -N "" -C $key_comment
- sed -i 's|^|#DISABLED#no-X11-forwarding,no-agent-forwarding,no-pty,permitopen="127.0.0.1:65534",command="'"$FROM_REMOTE_COMMAND $TUNNEL_PORT"' |' tmp/key.pub
- echo $HOSTNAME > tmp/host
- echo $PORT > tmp/port
- echo $USERNAME > tmp/user
- echo $TUNNEL_PORT > tmp/tunnelport
- tar -czf remote-access.tar.gz -C tmp host port user tunnelport key --owner root --group root
- cat tmp/key.pub >> ~/.ssh/authorized_keys
+ ssh-keygen -q -t rsa -f ~/tmp/key -N "" -C $key_comment
+ sed -i 's|^|#DISABLED#no-X11-forwarding,no-agent-forwarding,no-pty,permitopen="127.0.0.1:65534",command="'"$FROM_REMOTE_COMMAND $TUNNEL_PORT"'" |' ~/tmp/key.pub
+ echo $HOSTNAME > ~/tmp/host
+ echo $PORT > ~/tmp/port
+ echo $USERNAME > ~/tmp/user
+ echo $TUNNEL_PORT > ~/tmp/tunnelport
+ tar -czf remote-access.tar.gz -C ~/tmp host port user tunnelport key --owner root --group root
+ mkdir -m 700 -p ~/.ssh
+ umask 022
+ cat ~/tmp/key.pub >> ~/.ssh/authorized_keys
perl -e '$host="'ra-$COMMENT'"; $/=undef; $_=<>; s/^Host\s+(${host}$).*?((?=^Host)|\s*\Z)//gsm; print' ~/.ssh/config > ~/.ssh/config.new 2>/dev/null
cat >> ~/.ssh/config.new <<EOF
Host ra-$COMMENT
HostName localhost
- User support
+ User rapid-tunneling
Port $TUNNEL_PORT
IdentityFile ~/ra/$key_comment-key
ForwardX11 no
@@ -103,8 +110,8 @@ usage()
echo " # enable/disable future connections"
echo " disconnect <comment>"
echo " # disconnect connection"
- echo " delete [-d] <comment>"
- echo " # delete any trace of the connection, if -d specified, disconnect too"
+ echo " delete <comment>"
+ echo " # disconnect and delete any trace of the connection"
exit 1
}
@@ -141,10 +148,9 @@ case "$1" in
;;
delete)
shift
- [ "$1" = "-d" ] && do_disconnect=1 && shift
[ -z "$1" ] && usage
delete "$1"
- [ "$do_disconnect" = 1 ] && disconnect "$1"
+ disconnect "$1"
;;
*)
usage