Vyhledávání na webu

4 způsoby, jak urychlit připojení SSH v Linuxu


SSH je nejoblíbenější a nejbezpečnější metoda pro vzdálenou správu serverů Linux. Jednou z výzev při správě vzdáleného serveru je rychlost připojení, zejména pokud jde o vytváření relací mezi vzdáleným a místním počítačem.

Tento proces má několik úzkých hrdel, jeden scénář je, když se poprvé připojujete ke vzdálenému serveru; vytvoření relace obvykle trvá několik sekund. Když se však pokusíte spustit více připojení za sebou, způsobí to režii (kombinace nadměrného nebo nepřímého výpočetního času, paměti, šířky pásma nebo jiných souvisejících zdrojů k provedení operace).

V tomto článku se podělíme o čtyři užitečné tipy, jak zrychlit vzdálená připojení SSH v Linuxu.

1. Vynutit připojení SSH přes IPV4

OpenSSH podporuje IPv4/IP6, ale občas bývají připojení IPv6 pomalejší. Můžete tedy zvážit vynucení připojení ssh pouze přes IPv4 pomocí níže uvedené syntaxe:

ssh -4 [email 

Případně použijte direktivu AddressFamily (určuje rodinu adres, která se má použít při připojování) v konfiguračním souboru ssh /etc/ssh/ssh_config (globální konfigurace) nebo ~ /.ssh/config (soubor specifický pro uživatele).

Přijímané hodnoty jsou „any“, „inet“ pouze pro IPv4 nebo „inet6“.

vi ~.ssh/config 

Zde je užitečná úvodní příručka pro konfiguraci konfiguračního souboru ssh specifického pro uživatele:

  1. Jak nakonfigurovat vlastní připojení SSH pro zjednodušení vzdáleného přístupu

Navíc na vzdáleném počítači můžete také instruovat démona sshd, aby zvážil připojení přes IPv4 pomocí výše uvedené direktivy v souboru /etc/ssh/sshd_config.

2. Zakažte vyhledávání DNS na vzdáleném počítači

Ve výchozím nastavení démon sshd vyhledá název vzdáleného hostitele a také zkontroluje, zda se přeložený název hostitele pro vzdálenou IP adresu mapuje zpět na stejnou IP adresu. To může mít za následek zpoždění při navazování připojení nebo vytváření relace.

Direktiva UseDNS řídí výše uvedené funkce; chcete-li jej zakázat, vyhledejte jej a odkomentujte jej v souboru /etc/ssh/sshd_config. Pokud není nastaveno, přidejte jej s hodnotou no.

UseDNS  no

3. Znovu použijte připojení SSH

Klientský program ssh se používá k navázání připojení k démonu sshd akceptujícímu vzdálená připojení. Při vytváření nové ssh relace můžete znovu použít již navázané připojení, což může výrazně urychlit následující relace.

Můžete to povolit v souboru ~/.ssh/config.

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

Výše uvedená konfigurace (Hostitel *) umožní opětovné použití připojení pro všechny vzdálené servery, ke kterým se připojujete pomocí těchto direktiv:

  • ControlMaster – umožňuje sdílení více relací přes jediné síťové připojení.
  • ControlPath – definuje cestu k řídicímu soketu používanému pro sdílení připojení.
  • ControlPersist – pokud je použit společně s ControlMaster, říká ssh, aby po ukončení počátečního připojení klienta ponechal hlavní připojení otevřené na pozadí (čekání na budoucí připojení klientů).

Můžete to povolit pro připojení ke konkrétnímu vzdálenému serveru, například:

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

Tímto způsobem utrpíte pouze režii připojení u prvního připojení a všechna následující připojení budou mnohem rychlejší.

4. Použijte specifickou metodu ověřování SSH

Dalším způsobem, jak urychlit připojení ssh, je použití dané autentizační metody pro všechna připojení ssh a zde doporučujeme nakonfigurovat přihlašování ssh bez hesla pomocí ssh keygen v 5 snadných krocích.

Jakmile to uděláte, použijte direktivu PreferredAuthentications v souborech ssh_config (globálních nebo specifických pro uživatele) výše. Tato direktiva definuje pořadí, ve kterém by měl klient zkoušet metody autentizace (pro použití více než jedné metody můžete zadat seznam oddělený příkazy).

PreferredAuthentications=publickey 

Volitelně použijte níže uvedenou syntaxi z příkazového řádku.

ssh -o "PreferredAuthentications=publickey" [email 

Pokud dáváte přednost ověřování heslem, které je považováno za nezabezpečené, použijte toto.

ssh -o "PreferredAuthentications=password" [email 

Nakonec musíte restartovat démona sshd po provedení všech výše uvedených změn.

systemctl restart sshd	#Systemd
service sshd restart 		#SysVInit

Další informace o zde použitých direktivách naleznete na manuálových stránkách ssh_config a sshd_config.

man ssh_config
man sshd_config 

Podívejte se také na tyto užitečné příručky pro zabezpečení ssh v systémech Linux:

  1. 5 osvědčených postupů pro zabezpečení a ochranu serveru SSH
  2. Jak odpojit neaktivní nebo nečinná připojení SSH v Linuxu

To je prozatím vše! Máte nějaké tipy/triky pro zrychlení SSH připojení? Rádi bychom slyšeli o jiných způsobech, jak toho dosáhnout. Chcete-li se s námi podělit, použijte níže uvedený formulář pro komentáře.