Problemas no túnel SSH

1

Nossa configuração é a seguinte; - 2 servidores tomcat que hospedam sites - 1 balanceador de carga - Conexão SSH ao servidor cliente que contém o banco de dados

Essa abordagem funcionou bem com a exceção de um cliente em que o túnel SSH não fica ativo consistentemente. Inicialmente, a conexão SSH estava caindo intermitentemente no servidor problemático. Para corrigir isso eu adicionei ServerAliveInterval e ServerAliveCountMax, bem como ClientAliveInterval e ClientAliveCountMax. A conexão permaneceu por alguns dias, mas o servidor do cliente caiu e a conexão foi interrompida. Essa falha do servidor foi atribuída ao túnel SSH, mas não tenho certeza de que esse seja o caso. O arquivo tunnel.bat foi o seguinte:

:loop
ECHO OFF
echo y | plink.exe -ssh -R 24011:localhost:1433 [email protected] -pw PasswordHereButI'mNotTelling
ping -n 10 -w 1 127.0.0.1>nul
REM ping -n 10 -w 1 127.0.0.1
goto loop

Alterou o nível de log para 3 e obteve a seguinte saída:

Jun 10 11:55:09 Phobos sshd[18092]: debug1: server_input_global_request: rtype tcpip-forward want_reply 1
Jun 10 11:55:09 Phobos sshd[18092]: debug1: server_input_global_request: tcpip-forward listen localhost port 24011
Jun 10 11:55:09 Phobos sshd[18092]: debug3: channel_setup_fwd_listener: type 11 wildcard 0 addr NULL
Jun 10 11:55:09 Phobos sshd[18092]: debug3: sock_set_v6only: set socket 8 IPV6_V6ONLY
Jun 10 11:55:09 Phobos sshd[18092]: debug1: Local forwarding listening on ::1 port 24011.
Jun 10 11:55:09 Phobos sshd[18092]: debug2: fd 8 setting O_NONBLOCK
Jun 10 11:55:09 Phobos sshd[18092]: debug3: fd 8 is O_NONBLOCK
Jun 10 11:55:09 Phobos sshd[18092]: debug1: channel 1: new [port listener]
Jun 10 11:55:09 Phobos sshd[18092]: debug1: Local forwarding listening on 127.0.0.1 port 24011.
Jun 10 11:55:09 Phobos sshd[18092]: debug2: fd 9 setting O_NONBLOCK
Jun 10 11:55:09 Phobos sshd[18092]: debug3: fd 9 is O_NONBLOCK
Jun 10 11:55:09 Phobos sshd[18092]: debug1: channel 2: new [port listener]

Há muito mais de onde isso veio e adicionará mais conforme solicitado, mas esse bloco tinha o mesmo id [18092], então foi um bom começo. Com meu chefe, usamos o C # para criar a conexão ssh. Isso funcionou novamente bem, mas imediatamente recebemos uma ligação para dizer que o servidor havia caído novamente.

Alguém poderia me dar uma indicação se o túnel SSH foi a causa do travamento do servidor? Eu acho que há vários problemas / razões possíveis; - A memória do servidor está perto do pico (atualmente usando 15 de 16GB) - netstat está mostrando conexões em um estado close_wait etc - conflito com o sqlservr.exe usando a porta 1433

Estou tendo um pesadelo completo com um túnel SSH. Dentro e fora, temos tentado corrigir esse problema por mais de três semanas e ainda sem resolução, então se alguém puder ajudar, eu ficarei para sempre em dívida com você.

    
por EamonnMcElroy 11.06.2015 / 13:13

1 resposta

1

Eu consideraria seriamente uma conexão VPN dedicada (hardware ou software) para isso - um túnel SSH permanente é extremamente hacky e propenso a falhas / problemas como você descobriu.

No entanto, se você realmente deseja persuadir um túnel SSH, você pode usar autossh para iniciar a conexão de um servidor Linux. Não tenho certeza se existem compilações do Windows disponíveis (sua pergunta mencionou um .exe, portanto, suponho que o Windows faça parte de sua configuração).

    
por 11.06.2015 / 13:59