Jak przyspieszyć logowanie SSH?

21

Spoza mojego domu, za każdym razem, gdy loguję się do mojego serwera Ubuntu za pomocą SSH, odebranie mi hasła wymaga ode mnie około 6 sekund, ale kiedy loguję się do mojego serwera hostingowego, zajmuje to około 1 sekundy. Co mogę zrobić, żeby to przyspieszyć?

$ 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
    
zadawane grokus 16.08.2010, 15:49
źródło

5 odpowiedzi

37

Najważniejszym powodem, dla którego widziałem, jest opcja konfiguracji w SSHD UseDNS ta opcja (domyślnie włączona) powoduje, że serwer wykonuje rozpoznawanie DNS dla przychodzących żądań. Czasochłonna operacja. Zauważyłem, że logowanie trwa od jednej minuty plus czekanie na monit o podanie hasła poniżej kilku sekund. Jeśli edytujesz /etc/ssh/sshd_config na serwerze i dodajesz (jeśli go tam nie ma) na dole UseDNS no to zrestartuj demona SSH z service ssh restart , powinieneś zobaczyć ulepszenie przy następnym połączeniu.

    
odpowiedział Marco Ceppi 16.08.2010, 15:54
źródło
6

Dla mnie, powód numer 2 (po opcji UseDNS po stronie serwera) dla długich logowań sesji SSH to próby połączenia klienta przy użyciu IPv6 (który, oczywiście, nie jest poprawnie skonfigurowany w mojej sieci - lub prawie dowolny inna sieć, jeśli o to chodzi).

Zobacz HOWTO: Przyspieszenie logowania SSH na forach Ubuntu.

"Rozwiązaniem" jest włączenie tylko protokołu IPv4:

1) dla danego wywołania klienta SSH:

ssh -4 login@hostname

2) lub globalnie w konflikcie klienta ssh w /etc/ssh/ssh_config :

Host *
   AddressFamily inet

Oczywiście lepiej byłoby poprawnie skonfigurować IPv6 w twojej sieci, ale kto ma na to czas:)

    
odpowiedział Aleksander Adamowski 10.03.2012, 17:23
źródło
3

Spróbuj dodać następną opcję za pomocą polecenia ssh:

-o "PreferredAuthentications=password"

(to uniemożliwia ssh wynegocjowanie jakiejkolwiek innej metody uwierzytelniania i przyspiesza promtp hasła!)

    
odpowiedział perseo22 17.12.2010, 12:50
źródło
2

Dodatkowo, wpisz to na zdalnym komputerze (jako użytkownik, z którym będziesz się logował jako), aby wyłączyć komunikaty MOTD:

touch ~/.hushlogin

Nie ma tak dużej różnicy, jak wyłączenie UseDNS , ale może pomóc w przypadku wolniejszych połączeń.

    
odpowiedział Oli 16.08.2010, 16:32
źródło
2

Ponieważ używasz raczej starej wersji Ubuntu, może to być ten błąd: link

Ponowne uruchomienie dbus ( /etc/init.d/dbus restart ) może pomóc.

    
odpowiedział Marcel Stimberg 16.08.2010, 17:11
źródło

Przeczytaj inne pytania na temat tagów