Respostas:
Existem várias coisas que podem dar errado. Adicione -vvv
para fazer com que o ssh imprima um rastreamento detalhado do que está fazendo e veja onde está pausando.
O problema pode estar no cliente ou no servidor.
Um problema comum no servidor é se você está se conectando a partir de um cliente para o qual as pesquisas reversas de DNS atingem o tempo limite. (Uma "pesquisa de DNS reversa" significa retornar do endereço IP da máquina cliente para um nome de host. Não é realmente útil para segurança, apenas um pouco útil para diagnosticar tentativas de interrupção nas entradas de log, mas a configuração padrão o faz de qualquer maneira.) Para desativar as pesquisas reversas de DNS, adicione UseDNS no
a /etc/ssh/sshd_config
(você precisa ser root no servidor; lembre-se de reiniciar o serviço SSH posteriormente).
Outra coisa que pode dar errado é o tempo limite da autenticação GSSAPI . Se você não sabe o que é isso, provavelmente não está confiando nisso; você pode desativá-lo adicionando a linha GSSAPIAuthentication no
a /etc/ssh/ssh_config
ou ~/.ssh/config
(localizada no lado do cliente).
UseDNS no
corrigiu como um encanto. Estou em uma rede interna sem servidor DNS para lidar com pesquisas reversas de IPs internos.
GSSAPIAuthentication
? (pesquisando por 15 minutos não lançar luz sobre isso)
Reserve um tempo para o processo de login e veja quanto tempo levará:
[root@gislab00207 ~]# time ssh root@ISSLABNTL01
root@isslabntl01's password:
Last login: Fri Oct 4 07:55:03 2013 from 3.60.40.232
[root@ISSLABNTL01 ~]# exit
logout
Connection to ISSLABNTL01 closed.
real 0m45.192s
user 0m0.003s
sys 0m0.005s
You have new mail in /var/spool/mail/root
[root@gislab00207 ~]#
Veja acima, demorou cerca de 45 segundos para entrar -------- MUITO LENTO
Depois de efetuar o login como root, edite o arquivo sshd_config e altere a entrada UseDNS como abaixo. Aqui estou usando sed em vez de editar o arquivo.
[root@ISSLABNTL01 ~]# grep -i dns /etc/ssh/sshd_config
#UseDNS yes
[root@ISSLABNTL01 ~]# sed -i 's/#UseDNS yes/UseDNS no/g' /etc/ssh/sshd_config
[root@ISSLABNTL01 ~]# grep -i dns /etc/ssh/sshd_config
UseDNS no
[root@ISSLABNTL01 ~]# service sshd restart
Stopping sshd: [ OK ]
Starting sshd: [ OK ]
[root@ISSLABNTL01 ~]# exit
Vamos agendar o processo de login e ver agora quanto tempo levará.
[root@gislab00207 ~]# time ssh root@ISSLABNTL01
root@isslabntl01's password:
Last login: Fri Oct 4 07:55:03 2013 from 3.60.40.232
[root@ISSLABNTL01 ~]# exit
logout
Connection to ISSLABNTL01 closed.
real 0m6.192s
user 0m0.003s
sys 0m0.005s
You have new mail in /var/spool/mail/root
[root@gislab00207 ~]#
Veja, demorou 6 segundos, o tempo para eu digitar a senha.
UseDNS no
Resolvido
É algo que dá errado na instalação do Ubuntu.
Para corrigi-lo, você deve alterar esta linha no /etc/nsswitch.conf :
hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
E mude para este:
hosts: files dns
nsswitch.conf
isso é pedir problemas e não fornecer uma solução geral para diminuir o SSH.
No meu caso, o problema pode ser resolvido reiniciando systemd-logind
:
systemctl restart systemd-logind
Isso é mencionado no Serverfault .
Eu tenho que fazer isso regularmente, porém, e não sei qual é a causa raiz do problema.
A saída de depuração do ssh no meu caso parou por 30 segundos enquanto estava 'conectando'. A solução acabou relacionada às configurações de DNS no meu sistema local. Uma configuração de rede anterior havia deixado para trás um servidor DNS falso no /etc/resolv.conf
arquivo. Substituí-lo por um servidor DNS atual corrigiu o problema.
Para mim, estava mudando o DNS do sistema para 127.0.0.1, antes disso, havia um host inexistente.
nano /etc/resolv.conf
E escreva o seguinte
domain localdomain
search localdomain
(Removed this line) ===> nameserver 10.0.0.1
(Added this line) ===> nameserver 127.0.0.1
Eu não sei muito sobre o ambiente do pôster como gostaria, mas para outros com um problema semelhante, pode ser um problema com o sssd
qual usamos para amarrar o ldap mojo.
Isso acontece comigo:
$ time ssh server.example.com
real 2m0.018s
user 0m0.006s
sys 0m0.004s
Eu tenho que obter acesso ao servidor (no meu caso através do console) e depois fazer um:
service restart sssd
Depois disso, as coisas simplesmente funcionam. Não tive tempo para depurar a causa raiz, mas esse bandaid funciona para mim.
Eu poderia resolver o prompt da senha lenta via ssh - issue, marcando Ativar retransmissão de DNS nas configurações de DHCP no meu roteador dlink. Posteriormente, as conexões com o SSH funcionaram em um segundo.
Network Settings -> Router Settings -> Enable DNS Relay [x]
A configuração padrão encaminha todas as solicitações de DNS ao provedor. Estava lento, embora eu estivesse conectando com ssh pi@10.0.0.103. Uma dica para a solução foi uma entrada em /etc/resolv.conf "search upc.at", que é fornecida via dhcp.
O manual do dlink declara:
When DNS Relay is enabled, DHCP clients of the router will be assigned
the router's LAN IP address as their DNS server. All DNS requests that
the router receives will be forwarded to your ISPs DNS servers.
When DNS relay is disabled, all DHCP clients of the router will
be assigned the ISP's DNS server.
Após o lançamento do dhcp no cliente e no servidor, a conexão via SSH foi rápida novamente. HTH.