ssh + long ssh demora e resolve o arquivo conf

2

Sistema Linux rodando Redhat 5.1.

Quando me conecto às máquinas com SSH, há um longo atraso antes que o login seja concluído e recebo um shell.

Eu fiz algumas pesquisas e encontrei uma solução para esse problema que sugeria que eu poderia remover o /etc/resolv.conf e, em seguida, os logins funcionariam rapidamente. Eu tentei fazer isso e realmente funcionou; removendo as /etc/resolv.conf das coisas.

Agora, quero entender por que isso está causando um problema e como obter logins SSH rápidos sem quebrar a resolução de nomes.

Atualizar : UseDNS no estava em sshd_config (mas não corrigiu o problema)

    
por Eytan 20.03.2012 / 19:56

3 respostas

4

Como uma medida de segurança quando você se conecta ao servidor ssh, o servidor executará várias pesquisas de DNS no endereço IP do qual você está se conectando. Essas verificações de DNS demoram um pouco, principalmente se as zonas inversas não forem configuradas corretamente para os endereços IP dos quais você está se conectando.

Em seu /etc/ssh/sshd_config , há uma opção que você pode definir para desativar as verificações de DNS. Especificamente, você desejaria definir UseDNS no .

man sshd_config

UseDNS

Specifies whether sshd(8) should look up the remote host name and check that the resolved host name for the remote IP address maps back to the very same IP address. The default is ''yes''.

Outra fonte comum de problemas pode estar relacionada a tcpwrappers . Se o SSH é compilado para usar tcpwrappers, e o tcpwrappers é compilado para fazer pesquisas de DNS, então você pode ver lentidão disso.

Se você estiver se conectando de dentro de sua rede, a maioria dos atrasos será corrigida configurando as zonas DNS reversas adequadas.

    
por 20.03.2012 / 20:07
1

Ele provavelmente tem tanto a ver com o arquivo /etc/nsswitch.conf quanto o arquivo /etc/resolv.conf. O nsswitch.conf informa ao linux a ordem em que ele deve usar métodos diferentes (dns, nis, / etc / hosts, etc) para resolver coisas como hosts, serviços, redes, etc.

resolv.conf é especificamente para pesquisas de dns, e meu palpite é que o /etc/nsswitch.conf diz para usar o dns antes de usar arquivos ao procurar por hosts e quando o /etc/resolv.conf não existe, ele pula fazendo um Pesquisa de DNS. Então, quando você estava digitando ssh username@hostname , ele costumava tentar fazer uma pesquisa de dns antes de voltar para outros meios, mas agora ele simplesmente pula essa etapa.

Pode haver outras coisas acontecendo, mas provavelmente é relacionado / semelhante.

Tome cuidado.

    
por 20.03.2012 / 20:07
0

Adicione a seguinte linha ao seu arquivo sshd_config:

UseDNS no

Isso fará o truque!

    
por 20.03.2012 / 20:13

Tags