Автоконтроль многих туннелей

Во время моей работы мне нужно установить много туннелей. Как лучше всего управлять этим? Иногда туннели могут потерять соединение. Я хочу автоматически переподключить его, может быть, есть хорошая вещь, чтобы сделать это автоматически

1 ответ

Я нашел это на бирже стека! дать ему шанс!

#!/bin/sh

REMOTEUSER=username
REMOTEHOST=remotehost 

SSH_REMOTEPORT=22 
SSH_LOCALPORT=10022

TUNNEL_REMOTEPORT=8080
TUNNEL_LOCALPORT=8080

createTunnel() {
    /usr/bin/ssh -f -N  -L$SSH_LOCALPORT:$REMOTEHOST:SSH_REMOTEPORT -L$TUNNEL_LOCALPORT:$REMOTEHOST:TUNNEL_REMOTEPORT $REMOTEUSER@$REMOTEHOST
    if [[ $? -eq 0 ]]; then
        echo Tunnel to $REMOTEHOST created successfully
    else
        echo An error occurred creating a tunnel to $REMOTEHOST RC was $?
    fi
}

## Run the 'ls' command remotely.  If it returns non-zero, then create a new connection
/usr/bin/ssh -p $SSH_LOCALPORT $REMOTEUSER@localhost ls >/dev/null 2>&1
if [[ $? -ne 0 ]]; then
    echo Creating new tunnel connection
    createTunnel
fi

Этот скрипт откроет два порта, порт 22, который будет использоваться для проверки того, что туннель еще жив, и порт 8080, который вы можете использовать (вы можете изменить этот канал).

Другие вопросы по тегам