4 tapaa nopeuttaa SSH-yhteyksiä Linuxissa


SSH on suosituin ja turvallisin menetelmä Linux-palvelimien etähallintaan. Yksi etäpalvelimen hallinnan haasteista on yhteysnopeudet, etenkin kun on kyse istunnon luomisesta etä- ja paikalliskoneiden välillä.

Tässä prosessissa on useita pullonkauloja, yksi skenaario on, kun muodostat yhteyden etäpalvelimeen ensimmäistä kertaa; istunnon muodostaminen kestää tavallisesti muutaman sekunnin. Kun kuitenkin yrität käynnistää useita yhteyksiä peräkkäin, tämä aiheuttaa ylimääräistä tai epäsuoraa laskenta-aikaa, muistia, kaistanleveyttä tai muita asiaan liittyviä resursseja toiminnon suorittamiseen.

Tässä artikkelissa jaamme neljä hyödyllistä vinkkiä SSH-etäyhteyksien nopeuttamiseen Linuxissa.

1. Pakota SSH-yhteys IPV4:n kautta

OpenSSH tukee molempia IPv4/IP6:ta, mutta toisinaan IPv6-yhteydet ovat yleensä hitaampia. Joten voit harkita ssh-yhteyksien pakottamista vain IPv4:n kautta käyttämällä alla olevaa syntaksia:

ssh -4 [email 

Vaihtoehtoisesti voit käyttää komentoa AddressFamily (määrittää yhteyden muodostamisen yhteydessä käytettävän osoiteperheen) ssh-määritystiedostossasi /etc/ssh/ssh_config (yleiset asetukset) tai ~ /.ssh/config (käyttäjäkohtainen tiedosto).

Hyväksytyt arvot ovat "any", "inet" vain IPv4:lle tai "inet6".

vi ~.ssh/config 

Tässä on hyödyllinen aloitusopas käyttäjäkohtaisen ssh-määritystiedoston määrittämiseen:

  1. Kuinka määrittää mukautetut SSH-yhteydet etäkäytön yksinkertaistamiseksi

Lisäksi etäkoneessa voit myös ohjeistaa sshd-demonia harkitsemaan yhteyksiä IPv4:n kautta käyttämällä yllä olevaa ohjetta tiedostossa /etc/ssh/sshd_config.

2. Poista DNS-haku käytöstä etäkoneella

Oletuksena sshd-daemon etsii etäisäntänimen ja tarkistaa myös, että etä-IP-osoitteen ratkaistu isäntänimi vastaa samaan IP-osoitteeseen. Tämä voi aiheuttaa viiveitä yhteyden muodostamisessa tai istunnon luomisessa.

UseDNS-direktiivi ohjaa yllä olevia toimintoja. Poista se käytöstä etsimällä ja poistamalla kommentteja tiedostosta /etc/ssh/sshd_config. Jos sitä ei ole asetettu, lisää se arvolla no.

UseDNS  no

3. Käytä SSH-yhteyttä uudelleen

Ssh-asiakasohjelmaa käytetään yhteyksien luomiseen sshd-demoniin, joka hyväksyy etäyhteydet. Voit käyttää uudelleen jo muodostettua yhteyttä luodessasi uutta ssh-istuntoa, mikä voi merkittävästi nopeuttaa seuraavia istuntoja.

Voit ottaa tämän käyttöön ~/.ssh/config-tiedostossasi.

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

Yllä oleva määritys (Isäntä *) mahdollistaa yhteyden uudelleenkäytön kaikille etäpalvelimille, joihin muodostat yhteyden seuraavilla ohjeilla:

  • ControlMaster – mahdollistaa useiden istuntojen jakamisen yhden verkkoyhteyden kautta.
  • ControlPath – määrittää polun yhteyden jakamiseen käytettävään ohjauspistokkeeseen.
  • ControlPersist – jos sitä käytetään yhdessä ControlMasterin kanssa, käskee ssh:ta pitämään pääyhteyden auki taustalla (odottelemaan tulevia asiakasyhteyksiä), kun alkuperäinen asiakasyhteys on suljettu.

Voit ottaa tämän käyttöön yhteyksissä tiettyyn etäpalvelimeen, esimerkiksi:

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

Tällä tavalla joudut kärsimään vain ensimmäisen yhteyden yhteyden ylimääräisistä kustannuksista, ja kaikki seuraavat yhteydet ovat paljon nopeampia.

4. Käytä erityistä SSH-todennusmenetelmää

Toinen tapa nopeuttaa ssh-yhteyksiä on käyttää tiettyä todennusmenetelmää kaikille ssh-yhteyksille, ja tässä suosittelemme ssh-salasanattoman kirjautumisen määrittämistä ssh keygenillä 5 helpossa vaiheessa.

Kun tämä on tehty, käytä PreferredAuthentications-direktiiviä ssh_config-tiedostoissa (yleisissä tai käyttäjäkohtaisissa) yllä. Tämä ohje määrittelee järjestyksen, jossa asiakkaan tulee kokeilla todennusmenetelmiä (voit määrittää komennolla erotetun luettelon käyttääksesi useampaa kuin yhtä menetelmää).

PreferredAuthentications=publickey 

Vaihtoehtoisesti voit käyttää tätä alla olevaa syntaksia komentoriviltä.

ssh -o "PreferredAuthentications=publickey" [email 

Jos pidät parempana salasanatodennusta, jota ei pidetä turvallisena, käytä tätä.

ssh -o "PreferredAuthentications=password" [email 

Lopuksi sinun on käynnistettävä sshd-daemoni uudelleen, kun olet tehnyt kaikki yllä olevat muutokset.

systemctl restart sshd	#Systemd
service sshd restart 		#SysVInit

Lisätietoja tässä käytetyistä direktiiveistä on ssh_config- ja sshd_config -man-sivuilla.

man ssh_config
man sshd_config 

Tutustu myös näihin hyödyllisiin oppaisiin ssh:n turvaamiseen Linux-järjestelmissä:

  1. 5 parasta käytäntöä SSH-palvelimen suojaamiseen ja suojaamiseen
  2. Kuinka katkaista ei-aktiiviset tai käyttämättömät SSH-yhteydet Linuxissa

Tässä kaikki tältä erää! Onko sinulla vinkkejä/temppuja SSH-yhteyksien nopeuttamiseen? Haluaisimme kuulla muista tavoista tehdä tämä. Käytä alla olevaa kommenttilomaketta jakaaksesi kanssamme.