Para facilitar a depuração, defina a diretiva LogLevel em / etc / ssh / sshd_config para Verbose ou Debug (é Info por padrão)
Eu tenho um servidor Ubuntu 12.04 com nomes de host 'example.org' e 'sub.domain.com' e alguns IP x.x.x.x e com fail2ban
instalado.
Em um computador cliente, posso usar o SSH no meu servidor em [email protected], [email protected] e [email protected]. Em outro cliente, no entanto, não posso usar o SSH em [email protected].
Além disso, ao pesquisar os arquivos /var/log/
do servidor, não há registros para o segundo cliente tentando efetuar login via [email protected]. Isso também é evidente porque fail2ban
não bane o segundo cliente após várias tentativas de senha com falha em [email protected].
Executando ssh -vvv [email protected]
no segundo cliente, a última mensagem de depuração diz apenas que o cliente está falando com o servidor - e depois é negado.
Existe alguma maneira de eu depurar ainda mais o problema no servidor, ou algo que está faltando?
Editar: também devo observar que o nome do host está resolvendo corretamente em todas as máquinas - ping
, nslookup
e wget
parecem funcionar corretamente ao tentar resolver example.org.
Para facilitar a depuração, defina a diretiva LogLevel em / etc / ssh / sshd_config para Verbose ou Debug (é Info por padrão)
É difícil dizer qual é o problema real porque você está ofuscando as mensagens de erro. Eles são informativos, familiares e menos ambíguos do que suas interpretações / interpretações. Se você tiver mensagens de erro, forneça-as ao solicitar suporte.
A diferença, eu entendo, está em onde essas máquinas clientes estão localizadas em relação ao servidor. Eu estou supondo que um é , enquanto o outro está em fora .
O erro "- e depois é negado". significa que o servidor não está escutando nessa porta. Ou seja, a porta TCP solicitada não está vinculada a um soquete de escuta na interface solicitada (endereço IP). Como alternativa, significa - o cliente não pode acessar a porta solicitada em x.x.x.x devido a um firewall.
Você precisa:
a. Permitir que conexões originadas da interface externa atinjam a porta TCP 22
b. Configure o sshd para escutar em todas as interfaces (padrão) ou no ip da interface externa.
Se a interface externa do seu host sshd tiver um endereço IP diferente do que o exemplo.org resolve, você terá um NAT.
c. Configure o Masquerading (NAT) no seu roteador.
INTERNAL_IP=10.3.0.7 INTERNAL_NM=255.255.255.224 INTERNAL=eth0 EXTERNAL=wlan0 ifconfig $INTERNAL $INTERNAL_IP netmask $INTERNAL_NM up echo 1 >/proc/sys/net/ipv4/ip_forward iptables -t nat -A POSTROUTING -o $EXTERNAL -s 10.3.0.0/24 -j MASQUERADE iptables -A FORWARD -i $EXTERNAL -o $INTERNAL -m state \ --state RELATED,ESTABLISHED -j ACCEPT iptables -A FORWARD -i $INTERNAL -o $EXTERNAL -j ACCEPT # -m state is deprecated these days so you should probably figure out what the # new NAT method is
Para obter uma resposta adequada, tente atualizar suas perguntas com:
ref: iptables do Ubuntu