Автоконтроль многих туннелей
Во время моей работы мне нужно установить много туннелей. Как лучше всего управлять этим? Иногда туннели могут потерять соединение. Я хочу автоматически переподключить его, может быть, есть хорошая вещь, чтобы сделать это автоматически
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, который вы можете использовать (вы можете изменить этот канал).