4 načini za pospešitev povezav SSH v Linuxu
SSH je najbolj priljubljena in varna metoda za oddaljeno upravljanje strežnikov Linux. Eden od izzivov pri upravljanju oddaljenega strežnika so hitrosti povezave, zlasti ko gre za ustvarjanje sej med oddaljenimi in lokalnimi stroji.
Ta postopek ima več ozkih grl, en scenarij je, ko se prvič povežete z oddaljenim strežnikom; običajno traja nekaj sekund, da vzpostavite sejo. Ko pa poskušate vzpostaviti več povezav zaporedoma, to povzroči obremenitev (kombinacija presežnega ali posrednega časa izračuna, pomnilnika, pasovne širine ali drugih sorodnih virov za izvedbo operacije).
V tem članku bomo delili štiri koristne nasvete, kako pospešiti oddaljene povezave SSH v Linuxu.
1. Prisilite povezavo SSH prek IPV4
OpenSSH podpira oba IPv4/IP6, včasih pa so povezave IPv6 počasnejše. Tako lahko razmislite o vsiljevanju povezav ssh samo prek IPv4, in sicer s spodnjo sintakso:
# ssh -4 [email
Druga možnost je, da uporabite direktivo AddressFamily (določa družino naslovov za uporabo pri povezovanju) v konfiguracijski datoteki ssh/etc/ssh/ssh_config (globalna konfiguracija) ali ~/.ssh/config (datoteka, ki je specifična za uporabnika).
Sprejete vrednosti so\"poljubno",\"inet" samo za IPv4 ali\"inet6".
$ vi ~.ssh/config
Tu je koristen začetni vodnik o konfiguriranju uporabniške konfiguracijske datoteke ssh:
- Kako konfigurirati povezave SSH po meri za poenostavitev oddaljenega dostopa
Poleg tega lahko na oddaljenem računalniku demonu sshd naročite, naj razmisli o povezavah prek IPv4, tako da uporabite zgornjo direktivo v datoteki/etc/ssh/sshd_config.
2. Onemogočite iskanje DNS na oddaljenem računalniku
Damon sshd privzeto poišče ime oddaljenega gostitelja in preveri tudi, ali se razrešeno ime gostitelja za oddaljeni naslov IP preslika na isti naslov IP. To lahko povzroči zamude pri vzpostavljanju povezave ali ustvarjanju seje.
Direktiva UseDNS nadzira zgornjo funkcionalnost; če ga želite onemogočiti, ga poiščite in razkomentirajte v datoteki/etc/ssh/sshd_config. Če ni nastavljen, ga dodajte z vrednostjo no
.
UseDNS no
3. Znova uporabite povezavo SSH
Odjemalski program ssh se uporablja za vzpostavitev povezav s demonom sshd, ki sprejema oddaljene povezave. Pri ustvarjanju nove seje ssh lahko znova uporabite že vzpostavljeno povezavo, kar lahko znatno pospeši naslednje seje.
To lahko omogočite v datoteki ~/.ssh/config.
Host * ControlMaster auto ControlPath ~/.ssh/sockets/%[email %h-%p ControlPersist 600
Zgornja konfiguracija (Host *) bo omogočila ponovno uporabo povezave za vse oddaljene strežnike, na katere se povežete z uporabo teh direktiv:
- ControlMaster - omogoča skupno rabo več sej prek ene omrežne povezave.
- ControlPath - definira pot do nadzorne vtičnice, ki se uporablja za skupno rabo povezave.
- ControlPersist - če se uporablja skupaj s programom ControlMaster, pove ssh -u, naj glavna povezava ostane odprta v ozadju (čaka na prihodnje povezave odjemalcev), ko se zapre začetna povezava odjemalca.
To lahko omogočite za povezave z določenim oddaljenim strežnikom, na primer:
Host server1 HostName www.example.com IdentityFile ~/.ssh/webserver.pem User username_here ControlMaster auto ControlPath ~/.ssh/sockets/%[email %h-%p ControlPersist 600
Tako boste za prvo povezavo trpeli samo stroške povezave, vse naslednje povezave pa bodo veliko hitrejše.
4. Uporabite posebno metodo preverjanja pristnosti SSH
Drug način za pospešitev povezav ssh je uporaba določene metode preverjanja pristnosti za vse povezave ssh, pri čemer priporočamo, da v 5 preprostih korakih konfigurirate prijavo ssh brez gesla s pomočjo keygen ssh.
Ko to storite, uporabite direktivo PreferredAuthentications znotraj zgoraj navedenih datotek ssh_config (globalnih ali za posamezne uporabnike). Ta direktiva opredeljuje vrstni red, v katerem mora odjemalec preizkusiti metode preverjanja pristnosti (za ukaz, ločen od ukazov, lahko uporabite več metod).
PreferredAuthentications=publickey
Po želji uporabite to sintakso spodaj iz ukazne vrstice.
# ssh -o "PreferredAuthentications=publickey" [email
Če imate raje preverjanje pristnosti z geslom, ki velja za nezaščiteno, uporabite to.
# ssh -o "PreferredAuthentications=password" [email
Končno morate znova zagnati demon sshd, potem ko izvedete vse zgornje spremembe.
# systemctl restart sshd #Systemd # service sshd restart #SysVInit
Za več informacij o tukaj uporabljenih direktivah si oglejte strani ssh_config in sshd_config.
# man ssh_config # man sshd_config
Oglejte si tudi te uporabne vodnike za zaščito ssh v sistemih Linux:
- 5 najboljših praks za zaščito in zaščito strežnika SSH
- Kako v Linuxu prekiniti neaktivne ali nedejavne povezave SSH
To je vse za zdaj! Ali imate kakšne nasvete/trike za pospešitev povezav SSH. Radi bi slišali o drugih načinih za to. Uporabite spodnji obrazec za komentarje, da ga delite z nami.