SSH por chave incrivelmente lento

SSH por chave incrivelmente lento

A conexão SSH com a chave da minha máquina de repente ficou incrivelmente lenta (~ 10 segundos!). Não é um problema de servidor ou DNS, pelo que posso descobrir.

O problema apareceu de repente depois de uma simples apt-get install kubuntu-desktope pequena confusão relacionada ao KDE, no meuUbuntu 15.04 x86_64.

A execução ssh -vv ...me mostra que ele espera por muito tempo (a maior parte dos ~10 segundos...) na última linha disto:

OpenSSH_6.7p1 Ubuntu-5ubuntu1, OpenSSL 1.0.1f 6 Jan 2014 debug1: Reading configuration data /home/neuronq/.ssh/config debug1: /home/neuronq/.ssh/config line 1: Applying options for XXX.com debug1: Reading configuration data /etc/ssh/ssh_config debug1: /etc/ssh/ssh_config line 19: Applying options for *

... e meu /etc/ssh/ssh_configcontém isto (não colei as linhas comentadas):

Host *
    SendEnv LANG LC_*
    HashKnownHosts yes
    GSSAPIAuthentication no
    GSSAPIDelegateCredentials no

Existe alguma maneira pela qual a instalação do desktop Kubuntu pode resultar repentinamente nessa lentidão (alguma coisa estranha de keystore/carteira)?(Além disso, no KDE eu não consegui fazer o login ssh por chave funcionar, exceto no terminal, fazendo manualmente um ssh-addantemão e inserindo minha senha de chave, mas desde então desisti completamente do KDE e estou de volta para Unidade, então não me importo mais com isso... mas pode estar relacionado)

Responder1

Você tem os mesmos problemas com autenticação de senha ou isso está realmente relacionado à autenticação de chave?

Seu cliente pode fornecer a resolução DNS adequada, mas é o seu servidor que tentará, de qualquer maneira, realizar uma pesquisa reversa a partir do seu endereço IP; isso pode explicar o atraso, como diz @kasperd. Mas, por experiência própria, isso não excede alguns segundos.

O SSH finalmente consegue a autenticação? Nesse caso, realmente parece um problema de DNS. Tente se sua configuração/administrador permite adicionar seu IP/nome de host ao arquivo /etc/hosts do servidor. Isso ignorará a resolução DNS no lado do servidor. Se você não configurar seu DNS para fornecer pesquisa reversa adequada no lado do servidor para o cliente, useDNS noé, como diz @kasperd, colocado no /etc/ssh/sshd_configservidor.

Se o seu administrador não fizer isso, não há mais nada que você possa fazer.

EDIT: Não há absolutamente nenhuma maneira do KDE/Unity ou de qualquer gerenciador de desktop resultar nessa lentidão. Eu ficaria surpreendentemente surpreso se esse fosse o caso. Porém, o fato de você precisar fornecer ssh-addpara usar suas chaves é interessante. Este comando é usado para fazer com que seu agente de autenticação lembre as senhas que você digitou para suas chaves. Para especificar a chave a ser usada, faça-o por linha de comando ou em seu ~/.ssh/configarquivo:

# in your command line:
ssh -i /path/to/your/private/key user@host

# or in your /home/$user/.ssh/config file:
# (on command line later, simply use ssh user@host or ssh host if
# user locally and remotely are the same
Host $myhost
    IdentityFile /path/to/your/private/key
    IdentitiesOnly yes 

Responder2

Para mim, a solução real foi adicionar AddressFamily inetmeu host local ao ~/.ssh/confighost apropriado ou /etc/ssh/ssh_configao arquivo Host *.

A causa do problema provavelmente foi a recente atualização para o Ubuntu 15.05 e o ssh agora estava tentando (mas falhando, com um grande atraso...) usar o IPv6.

informação relacionada