improved error handling for RDP and SSH tunnel scripts

This commit is contained in:
Steffen Vogel 2016-03-29 08:34:58 +02:00
parent b6d1d3d229
commit 0e65236c8b

View file

@ -48,40 +48,39 @@ function tunnel() {
PORT_LOCAL=${2:-$PORT}
HOP=${3:-$(jumphost $DEST)}
echo "Destination: $DEST:$PORT"
echo "Tunnelhost: $HOP"
echo "Local port: $PORT_LOCAL"
if [ -z "$HOP" ] || [ -z "$PORT" ] || [ -z "$PORT_LOCAL" ]; then
echo "usage: $0 destination:port [local_port [tunnel_host]]"
return 1
fi
[ -z "$HOP" ] || [ -z "$PORT" ] || [ -z "$PORT_LOCAL" ] && \
{ echo "usage: $FUNCNAME destination:port [local_port [tunnel_host]]"; return 1; }
ssh $HOP -L $PORT_LOCAL:$DEST:$PORT -N -o ExitOnForwardFailure=yes -f
PID=$(ssh $HOP -O check 2>&1 | sed -re "s/.*\(pid=(.*)\)+/\1/")
echo "Destination: $DEST:$PORT"
echo "Tunnelhost: $HOP"
echo "Local port: $PORT_LOCAL"
echo "SSH Tunnel PID: $PID"
}
function rdp-tunnel() {
IFS=: read DEST PORT <<<$1
HOP=${2:-$(jumphost $DEST)}
PORT=3389
PORT_LOCAL=$((RANDOM%100+42325))
if [ -z "$PORT" ]; then
PORT=3389
fi
IFS=: read DEST PORT <<<$1
HOP=${2:-$(jumphost $DEST)}
tunnel $DEST:$PORT $PORT_LOCAL $HOP
rdp localhost:$PORT_LOCAL
[ -z "$DEST" ] || [ -z "$HOP" ] && \
{ echo "usage: $FUNCNAME destination[:port] [tunnel_host]"; return 1; }
tunnel $DEST:$PORT $PORT_LOCAL $HOP && rdp localhost:$PORT_LOCAL
}
function rdp() {
PORT=3389
IFS=: read DEST PORT <<<$1
if [ -z "$PORT" ]; then
PORT=3389
fi
[ -n "$DEST" ] || \
{ echo "usage: $FUNCNAME destination:port"; return 1; }
open rdp://full%20address=s:$DEST:$PORT
}