Přeskočit na obsah
_CORE
AI & agentní systémy Podnikové informační systémy Cloud & Platform Engineering Datová platforma & integrace Bezpečnost & compliance QA, testování & observabilita IoT, automatizace & robotika Mobilní & digitální produkty Bankovnictví & finance Pojišťovnictví Veřejná správa Obrana & bezpečnost Zdravotnictví Energetika & utility Telco & média Průmysl & výroba Logistika & e-commerce Retail & věrnostní programy
Reference Technologie Blog Know-how Nástroje
O nás Spolupráce Kariéra
CS EN DE
Pojďme to probrat

SSH tunely a port forwarding

13. 04. 2023 Aktualizováno: 27. 03. 2026 2 min čtení intermediate
Tento článek byl publikován v roce 2023. Některé informace mohou být zastaralé.

SSH tunely umožňují bezpečně přistupovat ke vzdáleným službám přes šifrované spojení. Využívají existující SSH infrastrukturu, nevyžadují žádný extra software a dokážou zpřístupnit služby, které jsou jinak dostupné pouze z interní sítě. Prakticky nahrazují VPN pro jednoduché scénáře přístupu k databázím, webovým aplikacím nebo administračním rozhraním za firewallem.

Local forwarding

ssh -L 5433:localhost:5432 user@db-server
ssh -L 8080:internal-app:80 user@bastion

Local forwarding otevře port na vašem lokálním stroji a přesměruje provoz přes SSH na cílový server. První příklad zpřístupní PostgreSQL na db-serveru jako localhost:5433. Druhý příklad přes bastion host zpřístupní interní aplikaci. Výhodou je, že cílová služba nemusí být dostupná z internetu — stačí, aby k ní měl přístup SSH server.

Remote forwarding

ssh -R 8080:localhost:3000 user@public-server

Remote forwarding funguje opačně — zpřístupní lokální službu přes vzdálený server. Typické využití: máte vývojový server za NATem a chcete ho dočasně zpřístupnit kolegovi přes veřejný server. Port 3000 na vašem stroji bude dostupný jako port 8080 na public-serveru.

Dynamic (SOCKS)

ssh -D 1080 user@ssh-server
curl --socks5 localhost:1080 http://internal.local

Dynamic forwarding vytvoří SOCKS proxy, přes který lze směrovat libovolný provoz. Prohlížeč nebo aplikace nakonfigurovaná na SOCKS proxy localhost:1080 bude přistupovat k síti z perspektivy SSH serveru. Užitečné pro přístup k celé interní síti bez nutnosti vytvářet tunel pro každou službu zvlášť.

Jump host

ssh -J bastion user@internal-server
# ~/.ssh/config
Host internal-\*
  ProxyJump bastion

Jump host (bastion) je prostředník pro přístup do interní sítě. SSH config s ProxyJump umožňuje transparentní připojení přes bastion — stačí ssh internal-server a SSH automaticky projde přes bastion.

Trvalé tunely

autossh -M 0 -f -N -L 5433:localhost:5432 user@db-server

Pro produkční použití je autossh nezbytný — automaticky restartuje tunel při výpadku spojení. Alternativně vytvořte systemd service unit pro trvalý tunel s automatickým restartem a logováním.

SSH tunely = bezpečný přístup

Pro jednoduché scénáře SSH tunely nahrazují VPN. Pro složitější topologie nebo přístup celého týmu zvažte WireGuard nebo Tailscale.

sshtunelyport forwarding
Sdílet:

CORE SYSTEMS tým

Stavíme core systémy a AI agenty, které drží provoz. 15 let zkušeností s enterprise IT.