Remover o processo SSH inativo (no servidor) após a conexão ser interrompida (no cliente)

1

Estou usando o seguinte comando em um cliente para o tunelamento de porta:

autossh -M 20000 -4 -N -f -R 18822:localhost:22 <user>@<vps-ip>

Às vezes, o cliente perderia a conexão ou a energia por um curto período e, quando estiver on-line novamente, o processo SSH no VPS ainda estará ativo. Um novo processo aparece quando o cliente se conecta novamente, mas o encaminhamento de porta não está funcionando (suponho que o primeiro processo ainda ocupe a porta).

Eu achei que poderia corrigir isso fazendo as seguintes alterações:

Adicionado ao final do VPS ' /etc/ssh/sshd_config :

ClientAliveInterval 90
ClientAliveCountMax 2

Adicionado ao final do /etc/ssh/ssh_config do cliente:

ServerAliveInterval 90
ServerAliveCountMax 2

De esta resposta e do meu entendimento geral desses recursos, fiquei com a impressão de que isso tentaria < strong> 2 vezes para enviar um pacote nulo a cada 90 segundos, e se isso falhar, então, após 180 segundos, a conexão morrerá devido a um "cano quebrado", o SSH processo no VPS será morto e a porta pode ser usada novamente pelo cliente.

No entanto, passaram-se 20 minutos desde que o cliente desligou e o processo SSH ainda existe no VPS, ocupando a porta. ( Atualização: O processo desapareceu após ~ 25-30 minutos)

O meu entendimento do erro acima está errado? Como eu poderia verificar se a conexão ainda está ativa e fechá-la se o cliente não responder mais?

    
por confetti 04.11.2018 / 13:49

0 respostas