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:
- 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ä:
- 5 parasta käytäntöä SSH-palvelimen suojaamiseen ja suojaamiseen
- 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.