Eu já encontrei isso depois que você se conectou ao Ubuntu 14.04 via ssh e você alterou o sshd_config para um estado inválido para que service ssh reload
fizesse com que o servidor parasse de escutar mas não fechará sessões ssh ativas que eu estabeleci.
Para reproduzir os passos que fiz:
-
Conecte-se ao servidor ssh:
ssh host
-
Altere /etc/ssh/sshd_config
para um estado inválido, por ex. conjunto:
GatewayPorts 0.0.0.0:62222
-
Recarregue a configuração do servidor
sudo service ssh reload
-
Verifique se a conexão ssh estabelecida na etapa 1) ainda está ativa e você pode inserir o que quiser.
-
Não feche a conexão estabelecida e tente se conectar ao servidor novamente de outro terminal:
ssh host
E no meu caso, recebi esta mensagem:
ssh: connect to host IP_ADDR port SSH_PORT: Connection refused
Isso significa que o servidor ssh não escuta mais as conexões de entrada, mas de alguma forma magicamente ainda executa e manipula minha conexão estabelecida.
Acho que às vezes isso pode ser útil para alguém se se bloquear em uma sessão ssh, para que ninguém mais possa se conectar ao servidor com certeza e ainda sendo capaz de executar qualquer coisa que o usuário queira.
Então a questão é: Esse comportamento é desejado? Qual é o propósito original de tal implementação?
btw, notei que o servidor ssh está, nesse caso, em um estado meio inconsistente:
$ service ssh reload
reload: Job is not running: ssh
$ service ssh start
start: Job is already running: ssh
Então, para ressuscitar o servidor, tive que executar:
service ssh reload
Notas provavelmente importantes:
- O servidor Ubuntu foi configurado por Mail-in-a-Box v0.20 e não mais mudanças foram feitas.
- O provedor do servidor (DigitalOcean) configurou para mim mais duas regras no sshd_config:
- ClientAliveInterval 120
- ClientAliveCountMax 2