Weboldal keresés

4 módszer az SSH-kapcsolatok felgyorsítására Linux alatt


Az SSH a legnépszerűbb és legbiztonságosabb módszer a Linux-kiszolgálók távoli kezelésére. A távoli kiszolgálókezelés egyik kihívása a kapcsolati sebesség, különösen, ha a távoli és a helyi gépek közötti munkamenet-létrehozásról van szó.

Ennek a folyamatnak számos szűk keresztmetszete van, az egyik forgatókönyv az, amikor először csatlakozik távoli kiszolgálóhoz; általában néhány másodpercet vesz igénybe a munkamenet létrehozása. Ha azonban több kapcsolatot próbál létrehozni egymás után, ez többletköltséget okoz (többlet vagy közvetett számítási idő, memória, sávszélesség vagy más kapcsolódó erőforrások kombinációja a művelet végrehajtásához).

Ebben a cikkben négy hasznos tippet osztunk meg a távoli SSH-kapcsolatok felgyorsítására Linux alatt.

1. SSH-kapcsolat kényszerítése IPV4-en keresztül

Az OpenSSH mindkét IPv4/IP6-ot támogatja, de időnként az IPv6 kapcsolatok általában lassabbak. Tehát megfontolhatja az ssh-kapcsolatok kényszerítését csak IPv4-en keresztül, az alábbi szintaxis használatával:

ssh -4 [email 

Alternatív megoldásként használja az AddressFamily (meghatározza a csatlakozáskor használandó címcsaládot) direktívát az ssh konfigurációs fájlban /etc/ssh/ssh_config (globális konfiguráció) vagy a ~ /.ssh/config (felhasználóspecifikus fájl).

Az elfogadott értékek a következők: „any ”, „inet ” csak IPv4 esetén vagy „inet6 ”.

vi ~.ssh/config 

Íme egy hasznos kezdő útmutató a felhasználóspecifikus ssh konfigurációs fájl konfigurálásához:

  1. Egyéni SSH-kapcsolatok konfigurálása a távoli hozzáférés egyszerűsítésére

Ezenkívül a távoli gépen utasíthatja az sshd démont, hogy fontolja meg az IPv4-en keresztüli kapcsolatokat az /etc/ssh/sshd_config fájlban található fenti direktíva használatával.

2. Tiltsa le a DNS-keresést a távoli gépen

Alapértelmezés szerint az sshd démon megkeresi a távoli gazdagép nevét, és azt is ellenőrzi, hogy a távoli IP-cím feloldott gazdagépneve ugyanarra az IP-címre vonatkozik-e. Ez késedelmet okozhat a kapcsolat létrehozásában vagy a munkamenet létrehozásában.

A UseDNS direktíva szabályozza a fenti funkciókat; letiltásához keressen rá, és törölje a megjegyzéseket az /etc/ssh/sshd_config fájlban. Ha nincs beállítva, adja hozzá a no értékkel.

UseDNS  no

3. Használja újra az SSH-kapcsolatot

Az ssh-kliens program segítségével kapcsolatot létesítenek egy távoli kapcsolatokat elfogadó sshd-démonnal. Új ssh-munkamenet létrehozásakor újra felhasználhatja a már létrehozott kapcsolatot, és ez jelentősen felgyorsíthatja a további munkameneteket.

Ezt a ~/.ssh/config fájlban engedélyezheti.

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

A fenti konfiguráció (Host *) lehetővé teszi a kapcsolat újrafelhasználását minden távoli kiszolgálónál, amelyhez az alábbi direktívák használatával csatlakozik:

  • ControlMaster – lehetővé teszi több munkamenet megosztását egyetlen hálózati kapcsolaton keresztül.
  • ControlPath – a kapcsolat megosztásához használt vezérlőaljzat elérési útját határozza meg.
  • ControlPersist – ha a ControlMaster-rel együtt használjuk, utasítja az ssh-t, hogy tartsa nyitva a fő kapcsolatot a háttérben (várva a jövőbeli klienskapcsolatokat), miután a kezdeti ügyfélkapcsolatot lezárták.

Engedélyezheti ezt egy adott távoli kiszolgálóval való kapcsolatokhoz, például:

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

Így csak az első csatlakozásnál kell elszenvedni a csatlakozási költségeket, és minden további kapcsolat sokkal gyorsabb lesz.

4. Használjon speciális SSH-hitelesítési módszert

Az ssh-kapcsolatok felgyorsításának egy másik módja egy adott hitelesítési módszer használata minden ssh-kapcsolathoz, és itt azt javasoljuk, hogy 5 egyszerű lépésben állítsa be az ssh jelszó nélküli bejelentkezést az ssh keygen használatával.

Ha ez megtörtént, használja a PreferredAuthentications direktívát a fenti ssh_config fájlokban (globális vagy felhasználóspecifikus). Ez a direktíva meghatározza, hogy az ügyfél milyen sorrendben próbálja ki a hitelesítési módszereket (megadhat egy parancsokkal elválasztott listát, ha egynél több módszert szeretne használni).

PreferredAuthentications=publickey 

Opcionálisan használja az alábbi szintaxist a parancssorból.

ssh -o "PreferredAuthentications=publickey" [email 

Ha a nem biztonságosnak ítélt jelszavas hitelesítést részesíti előnyben, használja ezt.

ssh -o "PreferredAuthentications=password" [email 

Végül a fenti módosítások elvégzése után újra kell indítania az sshd démont.

systemctl restart sshd	#Systemd
service sshd restart 		#SysVInit

Az itt használt direktívákkal kapcsolatos további információkért tekintse meg az ssh_config és az sshd_config kézikönyvoldalakat.

man ssh_config
man sshd_config 

Tekintse meg ezeket a hasznos útmutatókat is az ssh Linux rendszereken való biztosításához:

  1. 5 bevált módszer az SSH-kiszolgáló biztonságossá tételéhez és védelméhez
  2. Az inaktív vagy tétlen SSH-kapcsolatok leválasztása Linux rendszerben

Ez minden most! Van valami tippje/trükkje az SSH-kapcsolatok felgyorsítására? Szeretnénk hallani ennek más módjairól. Az alábbi megjegyzés űrlap segítségével ossza meg velünk.