summaryrefslogtreecommitdiff
path: root/bin/extra/ehbvmvpn
blob: 0d85b5742375d0ec1c1b1823cb8940210a350aee (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#!/bin/sh

err() { printf "%s\n" "$@"; }

if [ -z "$1" ] || [ "$1" = "-h" ]
then
    >&2 cat <<EOF
-k kill ssh
-v vpn
-s ssh bindings
-h help
EOF
    exit 1
fi

if [ "$1" = "-k" ]
then
    shift
	pgrep -f -- "ssh.*-L.*vm" | xargs kill
fi

export SSH_ASKPASS="sshpass"
export SSH_ASKPASS_REQUIRE="prefer"
export PASSWORD="zot/qemu"

if [ "$1" = "-v" ]
then
    shift
    err "I: Waiting for connectivity..."
    while ! ssh -o ConnectTimeout=1 -o BatchMode=yes vm 2>&1 | grep "Permission denied" > /dev/null
    do sleep 1
    done

    err "I: Activating vpn"
    ssh vm "rasdial \"vpn.student.ehb.be\""
fi


if [ "$1" = "-s" ]
then
    shift
    keyadd ehb/ai
    ssh -f -N \
        -L 2222:10.2.160.41:22 \
        vm

    keyadd ehb/vm_int
    >&2 printf 'ssh forwardings for vms\n'
    ssh -f -N -L 2223:10.2.160.9:22 vm
    ssh -f -N -L 2224:10.2.160.10:22 vm
    ssh -f -N -L 2225:10.2.160.11:22 vm
    ssh -f -N -L 2226:10.2.160.51:22 vm
fi