V minulém díle jsme si představili možnosti, jak nastavit SSH na serveru a nyní si v našem seriálu o protokolu SSH ukážeme několik úprav chování, které můžete učinit na klientské straně připojení.
Definice připojovacích informací specifických pro jednotlivé servery
Na lokálním počítači můžete definovat individuální konfigurace pro jednotlivé servery nebo pro všechny servery, k nimž se připojujete. Můžete je uložit do souboru ~/.ssh/config
, který čte SSH klient pokaždé, když se zavolá.
Na lokálním počítači otevřete nebo vytvořte tento soubor v textovém editoru:
nano ~/.ssh/config
Uvnitř souboru nadefinujte individuální konfigurační volby tak, že každou z nich uvedete klíčovým slovem Host, za nímž následuje alias. Pod tím a s odsazením můžete nadefinovat jakékoli z direktiv, které se nacházejí v manuálu pro ssh_config
:
man ssh_config
Ukázka takové konfigurace:
Host testhost
HostName example.com
Port 4444
User demo
Pak se budete moci připojit k example.com na portu 4444 s uživatelským jménem „demo“ tak, že napíšete prostě jen:
ssh testhost
Můžete také používat zástupné znaky (wildcards), abyste mohli uvést více houstů, ne pouze jeden. Mějte však na paměti, že co uvedete později, může překrýt to, co jste uvedli dříve. Z tohoto důvodu byste měli dávat nahoru nejobecnější definice. Můžete například jako výchozí stav uvést, že žádné připojení nepovoluje X přeposílání, ale pro example.com to překryjete. V souboru tedy uvedete:
Host *
ForwardX11 no
Host testhost
HostName example.com
ForwardX11 yes
Port 4444
User demo
Až skončíte, soubor uložte a zavřete.
Jak udržet připojení naživu, aby nevypršela jeho platnost
Pokud jste zjistili, že jste byli odpojeni od SSH relace dřív, než jste byli připraveni něco dělat, je možné, že připojení vypršela platnost.
Klienta můžete nakonfigurovat tak, aby pravidelně zasílal nějaký paket na server tak často, že se takové situace vyvarujete.
Na lokálním počítači to můžete nakonfigurovat pro každé připojení patřičnou úpravou v souboru ~/.ssh/config
. Otevřete ho:
nano ~/.ssh/config
Pokud na začátku souboru není sekce, které vyhovují všechny housty, definujte ji. Nastavte ServerAliveInterval na „120“, aby se na server odesílal paket každé dvě minuty. To by mělo být postačující oznámení pro server, že nemá připojení uzavírat:
Host *
ServerAliveInterval 120
Až skončíte, soubor uložte a zavřete.
Vypnutí kontroly houstu
Vždy, když se připojíte k nějakému novému serveru, standardně vám bude předložen otisk prstu klíče SSH démona vzdáleného houstu.
The authenticity of host '111.111.11.111 (111.111.11.111)' can't be established.
ECDSA key fingerprint is fd:fd:d4:f9:77:fe:73:84:e1:55:00:ad:d6:6d:22:fe.
Are you sure you want to continue connecting (yes/no)? yes
Je to takto nakonfigurované proto, abyste mohli ověřit autenticitu houstu, ke kterému se pokoušíte připojit, a rozpoznat případy, kdy se nějaký uživatel se zákeřnými úmysly pokouší vydávat za vzdálený houst.
Za jistých okolností si možná budete přát tuto funkci vypnout. Poznámka. To však může být velmi riskantní z hlediska bezpečnosti, takže se ujistěte, že přesně víte, co děláte, pokud se rozhodnete nakonfigurovat systém takto.
Chcete-li udělat tuto změnu, otevřete na lokálním počítači soubor ~/.ssh/config
:
nano ~/.ssh/config
Pokud na začátku souboru není sekce, které vyhovují všechny housty, definujte ji. Nastavte direktivu StrictHostKeyChecking
na „no“, aby se nové housty automaticky přidávaly do souboru known_hosts
. Nastavte UserKnownHostsFile
na /dev/null
, aby se nevydávalo upozornění pro nové nebo změněné housty:
Host *
StrictHostKeyChecking no
UserKnownHostsFile /dev/null
Kontrolu houstů pak můžete zapínat případ od případu tím, že pro jiné housty tyto volby vrátíte. Výchozí hodnota pro StrictHostKeyChecking je „ask“:
Host *
StrictHostKeyChecking no
UserKnownHostsFile /dev/null
Host testhost
HostName example.com
StrictHostKeyChecking ask
UserKnownHostsFile /home/demo/.ssh/known_hosts
Multiplexování SSH přes jediné TCP připojení
Mohou nastat situace, kdy zřídit nové TCP připojení může trvat déle, než jste ochotni snášet. Pokud činíte více připojení k témuž stroji, využijte přednosti multiplexování.
SSH multiplexování opětovně používá stejné TCP připojení pro více SSH relací. Odstraňuje se tím část prací nezbytných pro zřízení nové relace, a patrně se tím věci urychlí. Limitovat počet připojení se může hodit i z jiných příčin.
Chcete-li připravit multiplexování, můžete všechna připojení připravit ručně, nebo nakonfigurujte klienta tak, aby multiplexování používal automaticky vždy, když je to možné. My zde předvedeme tu druhou možnost.
Abyste nakonfigurovali multiplexování, otevřete v editoru na lokálním stroji konfigurační soubor SSH klienta:
nano ~/.ssh/config
Pokud na začátku souboru není definice houstu se zástupnými znaky, přidejte ji (například Host *). Abychom nakonfigurovali multiplexování, nastavíme hodnoty direktiv ControlMaster
, ControlPath
a ControlPersist
.
ControlMaster
by měla být nastavena na „auto“, aby se multiplexování povolovalo automaticky, jakmile je možné. Direktiva ControlPath
zřídí cestu k řídícímu soketu. Tento soket vytvoří první relace a následné relace budou schopné ho najít, protože je oštítkován uživatelským jménem, houstem a portem.
Nastavením volby ControlPersist
na „1“ umožníme, aby se počáteční hlavní připojení přesunulo do pozadí. Hodnota „1“ specifikuje, že TCP připojení se má automaticky ukončit jednu sekundu poté, co se uzavře poslední SSH relace:
Host *
ControlMaster auto
ControlPath ~/.ssh/multiplex/%r@%h:%p
ControlPersist 1
Až skončíte, soubor uložte a zavřete. Teď ještě potřebujeme vytvořit adresář, který jsme specifikovali v řídící cestě:
mkdir ~/.ssh/multiplex
Nyní se všechny relace zřizované se stejným strojem budou pokoušet použít existující soket a TCP připojení. Až skončí poslední relace, po jedné sekundě bude připojení zničeno.
Pokud potřebujete z nějakého důvodu dočasně multiplexovou konfiguraci obcházet, dá se to zařídit předáním indikátoru -S s „none“:
ssh -S none username@remote_host
V dalším pokračování seriálu o SSH si ukážeme, jak na tunelování serveru, ukážeme si řízení SSH pomocí escape kódů. Přihlaste se k odběru novinek a pošleme vám upozornění na nové díly ihned po zveřejnění.
Článek byl přeložen díky ZonerCloud.cz – výkonné a levné VPS servery do 55 sekund.
Zabezpečte váš server SSL certifikátem. Je to snadné. Přesvědčte se v článku 7 mýtů o SSL certifikátech na vašem serveru.
Napsal: Justin Elingwood
Přeložil RNDr. Jan Pokorný
Znění původního článku najdete zde
Mohlo by vás také zajímat
-
Co je to DNSSEC, jak funguje a jak si ho nastavit?
14. srpna 2024 -
Praktické rady na zabezpečení redakčního systému WordPress
27. února 2023 -
Užitečné nástroje pro bezpečnost na internetu
17. října 2024
Nejnovější
-
Jak rozšířit úložiště Macu za pětinovou cenu?
16. prosince 2024 -
Nové trendy v doménách pro osobní projekty – DIY, LIVING a LIFESTYLE
9. prosince 2024 -
Jak chránit webové stránky před Web/AI Scrapingem
27. listopadu 2024 -
Jaký monitor je nejlepší k novému Macu Mini?
25. listopadu 2024