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:

  1. 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:

  1. 5 najboljših praks za zaščito in zaščito strežnika SSH
  2. 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.