O que torna meu login ssh mais lento?


9

Toda vez que eu ssh efetuo login em um servidor, é sempre muito lento. Como uma resposta ao meu post anterior disse, "o preenchimento de um arquivo de 200 linhas deve levar cerca de milissegundos, então duvido que seja isso".

Eu tentei ssh -vvv time@servere a saída foi carregada aqui . Descobri que, ao prosseguir para cada uma dessas três linhas na saída, é particularmente lento:

debug1: Next authentication method: gssapi-with-mic 

debug1: Unspecified GSS failure.  Minor code may provide more information
Credentials cache file '/tmp/krb5cc_1000' not found 


debug1: Unspecified GSS failure.  Minor code may provide more information
Credentials cache file '/tmp/krb5cc_1000' not found 

Eu me pergunto por que e o que posso fazer para mudar isso? Obrigado e cumprimentos!


Atualizar:

A resposta de Ignacio sugere que eu "desabilite todos os métodos de autenticação GSS / Kerberos em sua configuração".

Portanto /etc/ssh/ssh_config, preciso garantir que "não" esteja por trás de todas as opções que começam com "GSS": GSSAPIAuthentication, GSSAPIDelegateCredentials, GSSAPIKeyExchange, GSSAPITrustDNS, GSSAPIAuthentication e GSSAPIDelegateCredentials?

Então, quais são as opções para o método de autenticação "Kerberos" que eu preciso colocar "não" para trás?

PS: a seguir está o conteúdo do meu local /etc/ssh/ssh_configcom opções comentadas não copiadas aqui:

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

Quantas vezes você fará a mesma pergunta?
Paul Tomblin


@PaulTomblin: Não são muitos. :-)
Tim


@ Gilles: Obrigado, eu corrigi o meu problema a partir desse post. Antes que eu tivesse que esperar o cursor piscar 30 vezes, agora leva o cursor piscar 7 vezes. (1) Agora é uma velocidade normal esperar o cursor piscar 7 vezes? (2) Por que funciona comentando GSSAPIAuthentication yese GSSAPIDelegateCredentials no?
Tim

Respostas:


10
debug1: Next authentication method: gssapi-with-mic

Esse é o Kerberos. Desative todos os métodos de autenticação GSS / Kerberos em sua configuração. Veja a ssh_config(5)página de manual, PreferredAuthenticationsopção, para mais detalhes.


Obrigado! Por "sua configuração", você quer dizer o meu local ou o servidor remoto?
Tim

PreferredAuthenticationsestá no cliente. No servidor, use em GSSAPIAuthenticationvez disso.
Ignacio Vazquez-Abrams

1
Obrigado! Então /etc/ssh/ssh_config, em (1), preciso garantir que "não" esteja por trás de todas as opções que começam com "GSS": GSSAPIAuthentication, GSSAPIDelegateCredentials, GSSAPIKeyExchange, GSSAPITrustDNS, GSSAPIAuthentication e GSSAPIDelegateCredentials? (2) quais são as opções para o método de autenticação "Kerberos" que preciso colocar "não" para trás? PS: Acabei de atualizar minha postagem com o conteúdo do meu local /etc/ssh/ssh_config.
Tim

1
1) Modificar PreferredAuthenticationsé suficiente. 2. Kerberos usa GSS; desabilitar o GSS é suficiente.
Ignacio Vazquez-Abrams

Obrigado! Posso perguntar como modificar PreferredAuthentications? Eu não posso encontrá-lo em ssh_config (5) manpage
Tim

3

UseDNS noe CheckHostIP nodeve acelerar as coisas também.

Também é uma boa medida de segurança permitir apenas o protocolo 2. Se você não precisar do IPv6, desative-o (AddressFamily).


1

Poderia ser ssh / etc / ssh_prng_cmds? Há um trabalho no ssh que executa uma série de comandos para tornar as coisas aleatórias quando você faz login. Um desses comandos provavelmente está demorando muito, porque está fazendo algo bobo no computador. A única coisa que consigo pensar agora é que o ssh exige que o computador corte a maior árvore da floresta com ......

um HERRING.

Portanto, "execute" alguns desses comandos a partir de um prompt e descubra com um deles que demora muito para responder. Comente esse.


1

Para mim, eu precisava do GSSAPI e não queria desativar as pesquisas reversas de DNS, o que não parecia uma boa ideia, então verifiquei a página de manual do resolv.conf. Acontece que um firewall entre mim e os servidores nos quais eu estava usando SSH estava interferindo nas solicitações de DNS, porque não estavam no formato esperado pelo firewall. No final, tudo o que eu precisava fazer era adicionar esta linha ao resolv.conf nos servidores aos quais eu estava SSH -

opções single-request-reabrir


Para qualquer um que investiga problemas semelhantes, veja também: unix.stackexchange.com/a/141278/23367
tuomassalo
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.