4 načina da ubrzate SSH veze u Linuxu


SSH je najpopularniji i najsigurniji metod za daljinsko upravljanje Linux serverima. Jedan od izazova sa upravljanjem udaljenim serverom je brzina veze, posebno kada je u pitanju kreiranje sesije između udaljenih i lokalnih mašina.

Postoji nekoliko uskih grla u ovom procesu, jedan scenario je kada se prvi put povezujete na udaljeni server; obično je potrebno nekoliko sekundi da se uspostavi sesija. Međutim, kada pokušate da pokrenete više konekcija uzastopno, to uzrokuje opterećenje (kombinacija viška ili indirektnog vremena računanja, memorije, propusnog opsega ili drugih povezanih resursa za izvođenje operacije).

U ovom članku ćemo podijeliti četiri korisna savjeta o tome kako ubrzati udaljene SSH veze u Linuxu.

1. Forsirajte SSH vezu preko IPV4

OpenSSH podržava oba IPv4/IP6, ali ponekad IPv6 veze imaju tendenciju da budu sporije. Dakle, možete razmisliti o prisiljavanju ssh konekcija samo preko IPv4, koristeći donju sintaksu:

ssh -4 [email 

Alternativno, koristite AddressFamily (određuje familiju adresa za korištenje prilikom povezivanja) direktivu u vašoj ssh konfiguracijskoj datoteci /etc/ssh/ssh_config (globalna konfiguracija) ili ~ /.ssh/config (datoteka specifična za korisnika).

Prihvaćene vrijednosti su “any”, “inet” samo za IPv4 ili “inet6”.

vi ~.ssh/config 

Evo korisnog vodiča za početnike o konfiguriranju ssh konfiguracijske datoteke specifične za korisnika:

  1. Kako konfigurirati prilagođene SSH veze za pojednostavljenje udaljenog pristupa

Dodatno, na udaljenoj mašini, takođe možete uputiti sshd demonu da razmotri veze preko IPv4 koristeći gornju direktivu u datoteci /etc/ssh/sshd_config.

2. Onemogućite DNS traženje na udaljenoj mašini

Po defaultu, sshd daemon traži ime udaljenog hosta, a također provjerava da li se razriješeno ime hosta za udaljenu IP adresu mapira nazad na istu IP adresu. Ovo može dovesti do kašnjenja u uspostavljanju veze ili kreiranju sesije.

Direktiva UseDNS kontrolira gornju funkcionalnost; da ga onemogućite, pretražite ga i dekomentirajte u datoteci /etc/ssh/sshd_config. Ako nije postavljeno, dodajte ga sa vrijednošću no.

UseDNS  no

3. Ponovno koristite SSH vezu

Ssh klijentski program se koristi za uspostavljanje veza sa sshd demonom koji prihvata udaljene veze. Možete ponovo koristiti već uspostavljenu vezu prilikom kreiranja nove ssh sesije i to može značajno ubrzati sljedeće sesije.

Ovo možete omogućiti u svom ~/.ssh/config fajlu.

Host *
	ControlMaster auto
	ControlPath  ~/.ssh/sockets/%r@%h-%p
	ControlPersist 600

Gornja konfiguracija (Host *) će omogućiti ponovnu upotrebu veze za sve udaljene servere na koje se povezujete koristeći ove direktive:

  • ControlMaster – omogućava dijeljenje više sesija preko jedne mrežne veze.
  • ControlPath – definira putanju do kontrolne utičnice koja se koristi za dijeljenje veze.
  • ControlPersist – ako se koristi zajedno sa ControlMaster, govori ssh-u da drži glavnu vezu otvorenom u pozadini (čeka buduće klijentske veze) nakon što se početna klijentska veza zatvori.

Ovo možete omogućiti za veze sa određenim udaljenim serverom, na primjer:

Host server1
	HostName   www.example.com
	IdentityFile  ~/.ssh/webserver.pem
      	User username_here
	ControlMaster auto
	ControlPath  ~/.ssh/sockets/%r@%h-%p
	ControlPersist  600

Na ovaj način patite samo od troškova veze za prvu vezu, a sve sljedeće veze će biti mnogo brže.

4. Koristite poseban SSH metod provjere autentičnosti

Drugi način ubrzavanja ssh konekcija je korištenje zadane metode provjere autentičnosti za sve ssh veze, a ovdje preporučujemo konfiguriranje ssh prijave bez lozinke koristeći ssh keygen u 5 jednostavnih koraka.

Kada se to učini, koristite PreferredAuthentications direktivu, unutar ssh_config datoteka (globalnih ili specifičnih za korisnika) iznad. Ova direktiva definira redoslijed kojim bi klijent trebao isprobati metode provjere autentičnosti (možete specificirati listu odvojenu naredbama da biste koristili više od jedne metode).

PreferredAuthentications=publickey 

Opciono, koristite ovu sintaksu ispod iz komandne linije.

ssh -o "PreferredAuthentications=publickey" [email 

Ako više volite autentifikaciju lozinkom koja se smatra nesigurnom, koristite ovo.

ssh -o "PreferredAuthentications=password" [email 

Konačno, morate ponovo pokrenuti svoj sshd demon nakon što izvršite sve gore navedene promjene.

systemctl restart sshd	#Systemd
service sshd restart 		#SysVInit

Za više informacija o direktivama koje se ovdje koriste, pogledajte stranice ssh_config i sshd_config.

man ssh_config
man sshd_config 

Također pogledajte ove korisne vodiče za osiguranje ssh-a na Linux sistemima:

  1. 5 najboljih praksi za osiguranje i zaštitu SSH servera
  2. Kako isključiti neaktivne ili neaktivne SSH veze u Linuxu

To je sve za sada! Imate li savjete/trikove za ubrzanje SSH konekcija. Voljeli bismo čuti i druge načine da to učinimo. Koristite formu za komentare ispod da podijelite s nama.