Para resumir, você observou três comportamentos diferentes ao se conectar de dentro da sua rede:
- Da máquina A, você não pode estabelecer uma conexão SSH porque o cliente e o servidor não suportam as opções de protocolo correspondentes.
- Na máquina D, o cliente rejeita a conexão devido a uma incompatibilidade de chave do host.
- Na máquina M, a conexão SSH é estabelecida, mas a autenticação do usuário falha.
Tudo isso indica que você não está alcançando o host que achava que estava atingindo. Como várias pessoas já comentaram nos comentários, quando você acessa seu endereço IP externo de dentro da rede, você está realmente alcançando seu roteador. (Mais precisamente, você está alcançando seu appliance NAT - para uma rede doméstica ou de pequena empresa, é apenas uma caixa fazendo roteamento, NAT, e possivelmente sendo um modem também.) Além disso:
- O fato de você não conseguir estabelecer uma conexão de A sugere que o servidor que você está acessando suporta apenas um pequeno subconjunto das opções disponíveis (comuns em roteadores) e que não foi atualizado em algum momento (novamente , comum em roteadores) -
diffie-hellman-group1-sha1depreciado . - O fato de D detectar uma incompatibilidade de chave de host mostra claramente que esse não é o host que você estava procurando.
- M não tem problemas para se conectar, pois ainda suporta o protocolo obsoleto e você nunca se conectou ao servidor desejado desse cliente para que não houvesse qualquer incompatibilidade. Você deve remover a chave pública correspondente do arquivo
known_hosts(ssh-keygen -R 36.xxx.xx.xx), senão você receberá um erro se tentar se conectar ao servidor desejado.
Quando você tenta se conectar ao seu endereço IP externo de dentro da sua rede, o que acontece depende de como o dispositivo NAT está configurado. É comum que ele veja uma solicitação de conexão para um de seus endereços IP, e trata isso como uma conexão consigo mesmo. Isso depende de como o NAT está configurado; normalmente é configurado por interface, portanto, solicitações de conexão de entrada vindas de fora são traduzidas de acordo com as regras de redirecionamento de entrada, mas as solicitações de conexão vindas de dentro são traduzidas apenas se realmente saírem, e não quando terminam no dispositivo NAT.
É comum que os roteadores domésticos ofereçam uma interface SSH, e não há motivo específico para desativá-la. Mesmo o protocolo obsoleto não é uma grande razão para se preocupar: o ataque contra ele é apenas "dentro do alcance teórico" - melhor evitado, mas não imediatamente quebrado. O fato de que o software é antigo é motivo de preocupação, no entanto; pode ter outras vulnerabilidades de segurança não corrigidas. Certifique-se de que seu roteador não esteja escutando nada em sua interface externa em um nível de protocolo acima do TCP (ou seja, deixe NAT, mas certifique-se de que o SSH, as interfaces da Web, etc. estejam restritos aos endereços IP internos). E se você tiver wifi ou se não confiar em sua rede física, também aperte as conexões internas.