Como acelerar o login SSH?


23

De fora da minha casa, sempre que eu faço login no meu servidor Ubuntu usando SSH, leva cerca de 6 segundos para receber a solicitação de senha, no entanto, quando eu faço login no meu servidor de hospedagem, leva cerca de 1 segundo. O que posso fazer para acelerar isso?

$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=8.04
DISTRIB_CODENAME=hardy
DISTRIB_DESCRIPTION="Ubuntu 8.04.1"
$ ssh -v
OpenSSH_4.7p1 Debian-8ubuntu1.2, OpenSSL 0.9.8g 19 Oct 2007
$ cat /proc/cpuinfo
model name      : Dual-Core AMD Opteron(tm) Processor 1210
cpu MHz         : 1000.000
cache size      : 1024 KB
$ cat /proc/meminfo
MemTotal:      2074528 kB

Respostas:


38

O principal motivo que vi para isso é uma opção de configuração no SSHD. UseDNSEssa opção (ativada por padrão) faz com que o servidor execute a resolução DNS nas solicitações recebidas. Uma operação demorada. Vi logins ir de um minuto mais aguardar pelo prompt de senha para menos de alguns segundos. Se você editar /etc/ssh/sshd_configno servidor e adicionar (se não houver) na parte inferior UseDNS no, reinicie o daemon SSH com service ssh restartuma melhoria na próxima vez que se conectar.


6
Melhor corrigir sua configuração de DNS.
Thorbjørn Ravn Andersen

Isso funcionou muito bem !! Obrigado! O tempo de login foi de 20-30 segundos para menos de 5 segundos :)
AntonioCS

3
Qual é o benefício de ter UseDNSativado?
ændrük

Estar ciente! ao definir a diretiva UserDNSapós uma Matchdiretiva, você receberá um erro: is not allowed within a Matchbloqueie se reiniciar o sshd, não será possível fazer o ssh no servidor. Cometi esse erro e fiquei bloqueado no meu servidor. Lembre-se sempre de não adicionar nenhuma diretiva na parte inferior de sshd_configse você tiver uma Matchdiretiva.
Adriano Rosa

6

Para mim, o motivo número 2 (após a opção UseDNS do servidor) para longos logins de sessão SSH são tentativas de conexão do cliente usando o IPv6 (que, obviamente, não está configurado corretamente na minha rede - ou quase em qualquer outra rede, para esse assunto).

Veja COMO FAZER: Acelere o login SSH nos fóruns do Ubuntu.

A "solução" é ativar apenas o IPv4:

1) para a chamada do cliente SSH fornecida:

ssh -4 login@hostname

2) ou globalmente na configuração do cliente ssh em /etc/ssh/ssh_config:

Host *
   AddressFamily inet

Obviamente, seria mais correto configurar o IPv6 na sua rede corretamente, mas quem tem tempo para isso :)


3

Tente adicionar a próxima opção com o seu comando ssh:

-o "PreferredAuthentications=password"

(isso impede que o ssh negocie qualquer outro método de autenticação e acelera a senha promtp!)


2
Por que usar senhas? Por que não chaves?
TJ Ellis

1
Fácil: porque você pode não ter permissão para usar chaves! (sshd não configurado para usá-los, permissões incorretas de arquivo do usuário, etc.
#

2

Além disso, digite isso na máquina remota (como o usuário no qual você efetuaria login) para suprimir qualquer mensagem MOTD:

touch ~/.hushlogin

Não faz tanta diferença quanto desligar, UseDNSmas pode ajudar em conexões mais lentas.


1
-1: O MOTD é exibido apenas após um login bem-sucedido. Isso não fará com que o prompt de senha apareça mais rapidamente.
Asa Ayers

2
É verdade, mas ainda é um comentário útil.
sebastian_k

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.