ssh bardzo wolne połączenie

18

Mam kilka zdalnych systemów, a jeden z nich, Linian z uruchomionym debianem, jest bardzo powolny do ssh - zajmuje to około 20-25 sekund za każdym razem. Wydaje się, że stało się to stosunkowo niedawno. Próbowałem ustawić ustawienie GSSAPIAuthenticationna nolub yeszgodnie z sugestią zawartą w kilku odpowiedziach na podobne pytania, ale to nie robi różnicy. Nie robi to żadnej różnicy, jeśli loguję się przy użyciu adresu fqdn lub adresu IP. Mam to samo opóźnienie sshing z mojego lokalnego Linux-a lub mojego lokalnego Macintosha. Nie mam takiego opóźnienia sshing z linode na lokalną skrzynkę linux. Mam inny zdalny system korzystający z tej samej wersji Debiana i mogę ssh do niego w 2 sekundy. Jedyna różnica między/etc/ssh/sshd_config pliki na dwóch polach Debiana są takie, że szybkie nie zezwala na hasła, a także określa listę dozwolonych szyfrów.

Jeśli ssh -vvv root@linodesię zaloguję, opóźnienie nastąpi w części oznaczonej >>>>>>

debug2: key: /root/.ssh/id_ecdsa ((nil))
debug2: key: /root/.ssh/id_ed25519 ((nil))
debug3: send packet: type 5
debug3: receive packet: type 6
debug2: service_accept: ssh-userauth
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug3: send packet: type 50

>>>>>>

debug3: receive packet: type 51
debug1: Authentications that can continue: publickey,password
debug3: start over, passed a different list publickey,password
debug3: preferred gssapi-keyex,gssapi-with-mic,publickey,keyboard-interactive,password
debug3: authmethod_lookup publickey
debug3: remaining preferred: keyboard-interactive,password
debug3: authmethod_is_enabled publickey
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /root/.ssh/id_rsa
debug3: send_pubkey_test

(To tylko częściowy dziennik - pełny dziennik dostępny na żądanie)

Nie mogę znaleźć niczego na temat logowania w czasie opóźnienia /var/log/auth.loglub /var/log/syslogpóźniej - po prostu otrzymuję

Jul 27 13:46:43 linode sshd[23049]: Accepted publickey for root from 199.241.27.237 port 51464 ssh2: RSA 89:08:ef:44:48:a4:84:b7:0a:de:14:65:1b:d9:86:f8
Jul 27 13:46:43 linode sshd[23049]: pam_unix(sshd:session): session opened for user root by (uid=0)
Jul 27 13:46:43 linode systemd-logind[3235]: New session 10361 of user root.
Paul Tomblin
źródło

Odpowiedzi:

25

Jeśli tworzenie połączenia jest powolne, ale po utworzeniu jest ono normalne, najprawdopodobniej będziesz mieć problem z tym, że serwer wykonuje odwrotne wyszukiwanie DNS dla klienta i z jakiegoś powodu nie działa.

Zasadniczo podczas debugowania można również spróbować zalogować się z dwóch terminali. Przy pierwszym logowaniu spójrz na sshddziennik na serwerze, podczas gdy próbujesz zalogować się od drugiego. To daje więcej informacji o tym, co serwer robi (lub czeka).

Możesz spróbować znaleźć dowód na to, że przyczyną jest odwrotne wyszukiwanie DNS, ustawiając jedną lub obie z następujących opcji /etc/ssh/sshd_config:

UseDNS no
UsePAM no

i sprawdź, czy to przyspieszy tworzenie połączenia. Jeśli tak, często możesz tak zostawić rzeczy do rozwiązania (jeśli ci na tym zależy).

Jeśli jest to problem z odwrotnym wyszukiwaniem DNS, zależy to od serwera DNS, z którego korzysta komputer, na którym się logujesz. Według Wikipedii nie wszystkie adresy IP mają odwrotny wpis, ponieważ nie jest to faktyczny wymóg normy. Ale bardziej prawdopodobne jest, że jest to problem z konfiguracją.

Anthon
źródło
Mój nowy dostawca Internetu (światłowód 1000 Mb / s do domu!) Nie ma wpisu rDNS dla mojego adresu IP. Więc UseDNS nonaprawiłem problem tak bardzo, jak będzie naprawiony.
Paul Tomblin
2
Dodanie UseDNS nie działało dla mnie.
Jose 'Vargas
Próbowałem tego wszystkiego, bez kości. W końcu po prostu ponownie uruchomiłem klienta i wszystko było w porządku.
medley56
Było to bardzo pomocne ... okazało się, że DNS serwera został źle skonfigurowany. Naprawa naprawiająca wolne połączenia ssh.
TemporalWolf
Dodanie UseDNS = no i ponowne uruchomienie sshd działało dla mnie. CentOS 7.
pzy
-2

W systemach Debian / Ubuntu sztuką jest wykopanie „avahi-daemon” z systemu i problem zniknął.

apt-get -y purge avahi*
TRANCEMANIAC
źródło
2
nie jest dobrym pomysłem -ydla polecenia purge, użytkownik powinien przejrzeć akcję przed wykonaniem.
Rabin