GNU/Linux >> Znalost Linux >  >> Linux

Jak používat tunelování SSH pro přístup k omezeným serverům

Kromě odesílání dat ssh může protokol ssh tunelovat další provoz mezi dvěma hostiteli. Nejběžnější ssh tunely jsou vzdálené a místní.

Tunelování SSH nebo předávání portů SSH je metoda vytvoření šifrovaného spojení SSH mezi klientem a serverem, přes které lze přenášet porty služeb.

Místní tunel SSH s přesměrováním portů

Lokální ssh tunel můžete použít, když se chcete dostat ke zdroji, ke kterému se nemůžete dostat přímo, ale ssh server, ke kterému máte přístup, ano. Zde je několik scénářů.

Proxy na vzdálený server

Na obrázku výše se modrý hostitel nemůže dostat na http://192.168.0.3 ale umí ssh na 192.168.0.2. Následující příkaz ssh byl spuštěn na modrém hostiteli umožní modrému hostiteli dosáhnout červeného hostitele.

ssh -L 8080:192.168.0.3:80 [email protected]

Nyní může modrý hostitel otevřít prohlížeč, přejděte na http://localhost:8080  a bude vám prezentována webová stránka hostovaná na 192.168.0.3.

Přesměrování místního portu

Na obrázku výše se modrý hostitel chce připojit k červenému hostiteli na portu 80, ale mezi tím je brána firewall, která to popírá. Protože modrý hostitel může ssh na červeného hostitele, můžeme pro přístup k tomuto portu vytvořit místní tunel přesměrování portů ssh.

Příkaz na modrém hostiteli bude:

ssh -L 8080:192.168.0.2:80 [email protected]

Nyní, když modrý hostitel otevře prohlížeč a přejde na http://localhost:8080 budou moci vidět vše, co má červený server na portu 80.

Syntaxe místního předávání portů

Tato syntaxe pro vytvoření místního tunelu pro předávání portů ssh je tato:

ssh -L <LPORT>:<RHOST>:<RPORT> <GATEWAY>

Vzdálený tunel SSH s přesměrováním portů

V tomto scénáři vytváříme reverzní ssh tunel. Zde můžeme iniciovat ssh tunel jedním směrem a pak použít tento tunel k vytvoření ssh tunelu zpět na druhou stranu. To může být užitečné, když pustíte počítač s dronem do sítě a chcete, aby „telefonoval domů“. Když pak zavolá domů, můžete se k němu připojit prostřednictvím zavedeného ssh tunelu.

Jsme na zeleném hostiteli a chceme ssh na modrém hostiteli. Brána firewall však toto připojení přímo blokuje. Protože modrý hostitel umí ssh k zelenému hostiteli, můžeme se pomocí toho připojit, a když se zelený hostitel chce vrátit ssh k modrému hostiteli, může jet tímto dříve zavedeným tunelem.

Modrý hostitel zahájí ssh tunel takto:

ssh -R 2222:localhost:22 [email protected]

Tím se otevře port 2222 na zeleném hostiteli, který jej pak přesměruje na port 22 na modrém hostiteli. Pokud by se tedy zelený hostitel připojil k sobě na portu 2222, dosáhl by modrého hostitele.

Zelený hostitel nyní může ssh ssh na modrého hostitele takto:

ssh -p 2222 [email protected]

Použití možnosti -N

Při použití ssh můžete zadat -N příznak, který říká ssh, že nemusíte posílat žádné příkazy přes ssh připojení, když je navázáno. Tato možnost se často používá při vytváření tunelů, protože často nepotřebujeme dostávat výzvu.

Autossh

autossh příkaz se používá k přidání vytrvalosti do vašich tunelů. Jeho úkolem je ověřit, zda je vaše připojení ssh aktivní, a pokud ne, vytvořit jej.

Zde je příkaz autossh, který možná znáte.

autossh -N -i /home/blueuser/.ssh/id_rsa -R 2222:localhost:22 [email protected]

 -i /home/blueuser/.ssh/id_rsa volba říká, že k ověření tohoto připojení ssh se má použít certifikát.

Nyní, když se váš tunel zhroutí, automaticky se pokusí znovu připojit a bude to zkoušet, dokud to nebude úspěšné. Aby byl trvalý i po restartu, přidejte příkaz ssh jako úlohu cron.


Linux
  1. Jak používat protokoly SSH a SFTP ve vaší domácí síti

  2. Ssh – jak se vyhnout žádosti Ssh o povolení?

  3. Jak vytvořit nového uživatele s přístupem Ssh?

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

  2. Jak mohu použít SSH s proxy SOCKS 5?

  3. Jak scp přes prostřední stroj?

  1. Jak nastavit SSH tunelování

  2. Jak zjistit, zda se používá připojení ssh ControlMaster

  3. Pomocí scp zkopírujte soubor na různé servery