4 sposoby przyspieszenia połączeń SSH w Linux

4 sposoby przyspieszenia połączeń SSH w Linux

Ssh jest najbardziej popularną i bezpieczną metodą zdalnego zarządzania serwerami Linux. Jednym z wyzwań związanych z zarządzaniem zdalnym serwerem są prędkości połączenia, szczególnie jeśli chodzi o tworzenie sesji między maszynami zdalnymi i lokalnymi.

Istnieje kilka wąskich gardeł w tym procesie, jednym z scenariusza jest po raz pierwszy łączenie się z serwerem zdalnym; Zwykle ustanowienie sesji zajmuje kilka sekund. Jednak gdy próbujesz rozpocząć wiele połączeń z rzędem, powoduje to ogólne narzut (kombinacja nadmiaru lub pośrednim czasu obliczeń, pamięci, przepustowości lub innych powiązanych zasobów do przeprowadzenia operacji).

W tym artykule podzielimy się czterema przydatnymi wskazówkami na temat przyspieszenia zdalnych połączeń SSH w Linux.

1. Połączenie SSH przez IPv4

OpenSsh obsługuje zarówno IPv4/IP6, ale czasami IPv6 Połączenia są zwykle wolniejsze. Możesz więc rozważyć wymuszanie połączeń SSH tylko przez IPv4, używając składni poniżej:

# ssh -4 [chroniony e -mail] 

Alternatywnie użyj Adressfamily (Określa rodzinę adresu do użycia podczas łączenia) Dyrektywa w pliku konfiguracyjnym SSH /etc/ssh/ssh_config (konfiguracja globalna) lub ~/.ssh/config (Plik specyficzny dla użytkownika).

Zaakceptowane wartości to „każdy”,„inet”Tylko dla IPv4 lub„ ”INET6".

$ vi ~.ssh/config 
Wyłącz połączenia SSH na IPv6

Oto przydatny podręcznik startowy na konfigurowanie pliku konfiguracyjnego SSH specyficznego dla użytkownika:

  1. Jak skonfigurować niestandardowe połączenia SSH w celu uproszczenia dostępu zdalnego

Dodatkowo na zdalnej maszynie możesz również poinstruować demona SSHD, aby rozważył połączenia przez IPv4 za pomocą powyższej dyrektywy w /etc/ssh/sshd_config plik.

2. Wyłącz wyszukiwanie DNS na zdalnej maszynie

Domyślnie Demon SSHD wyszukuje zdalną nazwę hosta, a także sprawdza, czy nazwa rozstrzygnięta hosta zdalnego adresu IP mapy z powrotem do tego samego adresu IP. Może to spowodować opóźnienia w tworzeniu połączeń lub tworzenia sesji.

Używane Dyrektywa kontroluje powyższą funkcjonalność; Aby to wyłączyć, przeszukaj i pocukaj w /etc/ssh/sshd_config plik. Jeśli nie jest ustawiony, dodaj go z wartością NIE.

Używane nr 
Wyłącz wyszukiwanie SSH DNS

3. Ponowne wykorzystanie połączenia SSH

Program klienta SSH służy do ustanowienia połączeń z demonem SSHD akceptującym zdalne połączenia. Podczas tworzenia nowej sesji SSH możesz ponownie użyć już ustanowionego połączenia, co może znacznie przyspieszyć kolejne sesje.

Możesz to włączyć w swoim ~/.ssh/config plik.

Host * ControlMaster Auto Controlpath ~/.SSH/Sockets/%[chroniony e-mail]%H-%P Controlpersist 600 

Powyższa konfiguracja (Gospodarz *) Włączy ponowne użycie połączenia dla wszystkich zdalnych serwerów, z którymi łączysz się za pomocą tych dyrektyw:

  • Controlmaster - umożliwia udostępnianie wielu sesji przez jedno połączenie sieciowe.
  • Controlpath - definiuje ścieżkę do gniazda kontrolnego używanego do udostępniania połączeń.
  • ControlPersist - Jeśli używane razem z Controlmaster, mówi SSH, aby utrzymywał otwarte połączenie główne w tle (czekając na przyszłe połączenia klientów) po zamknięciu początkowego połączenia klienta.
Ponowne wykorzystanie połączeń SSH

Możesz na przykład włączyć to dla połączeń z określonym serwerem zdalnym:

Host Server1 nazwa hosta www.przykład.com IdentityFile ~/.SSH/WebServer.PEM Użytkownik nazwa użytkownika_here ControlMaster Auto Controlpath ~/.SSH/Sockets/%[chroniony e-mail]%H-%P Controlpersist 600 

W ten sposób cierpisz tylko na obciążenie połączenia dla pierwszego połączenia, a wszystkie kolejne połączenia będą znacznie szybsze.

4. Użyj określonej metody uwierzytelniania SSH

Innym sposobem przyspieszenia połączeń SSH jest użycie danej metody uwierzytelniania dla wszystkich połączeń SSH, a tutaj zalecamy konfigurację logowania bez hasła SSH za pomocą ssh keygen w 5 prostych krokach.

Gdy to zrobisz, użyj PreferReAuthentationsations dyrektywa, wewnątrz ssh_config pliki (globalne lub specyficzne dla użytkownika) powyżej. Niniejsza dyrektywa określa kolejność, w której klient powinien wypróbować metody uwierzytelniania (możesz określić listę oddzieloną polecenia, aby użyć więcej niż jednej metody).

PREPREDERAUTHESTACJA = publickey 
Metoda uwierzytelniania SSH

Opcjonalnie użyj tej składni poniżej z wiersza poleceń.

# ssh -o „preferReReAuthentations = publickey” [e -mail chroniony] 

Jeśli wolisz uwierzytelnianie hasła, które jest uważane za niezabezpieczone, użyj tego.

# ssh -o „preferReReuthentations = hasło” [e -mail chroniony] 

Na koniec musisz ponownie uruchomić demon SSHD po wprowadzeniu wszystkich powyższych zmian.

# Systemctl restart sshd #systemd # Service Sshd restart #sysvinit 

Aby uzyskać więcej informacji na temat używanych tutaj dyrektyw, zobacz ssh_config I sshd_config Strony człowieka.

# man ssh_config # man sshd_config 

Sprawdź także te przydatne przewodniki do zabezpieczenia SSH w systemach Linux:

  1. 5 najlepszych praktyk w celu zabezpieczenia i ochrony serwera SSH
  2. Jak odłączyć nieaktywne lub bezczynne połączenia SSH w Linux

To wszystko na teraz! Czy masz jakieś wskazówki/wskazówki dotyczące przyspieszenia połączeń SSH. Chcielibyśmy usłyszeć o innych sposobach robienia tego. Użyj poniższego formularza komentarza, aby podzielić się z nami.