SSH tunel poskytuje bezpečné, šifrované spojení pro přístup ke konzoli vašeho vzdáleného I2P routeru nebo k dalším službám. Tato příručka vám ukáže, jak vytvořit SSH tunely na systémech Windows, Linux a Mac.
Co je SSH tunel?
SSH tunel je metoda směrování dat a informací bezpečně přes šifrované SSH spojení. Představte si to jako vytvoření chráněného “potrubí” přes internet - vaše data cestují tímto šifrovaným tunelem, což zabraňuje komukoli je cestou zachytit nebo přečíst.
SSH tunelování je zvláště užitečné pro:
- Přístup ke vzdáleným I2P routerům: Připojte se ke konzoli I2P běžící na vzdáleném serveru
- Zabezpečená spojení: Veškerý provoz je šifrován end-to-end
- Obcházení omezení: Přistupujte ke službám na vzdálených systémech, jako by byly lokální
- Přesměrování portů: Namapujte lokální port na vzdálenou službu
V kontextu I2P můžete použít SSH tunel pro přístup ke konzoli vašeho I2P routeru (typicky na portu 7657) na vzdáleném serveru tak, že ji přesměrujete na lokální port na vašem počítači.
Předpoklady
Před vytvořením SSH tunelu budete potřebovat:
- SSH klient:
- Windows: PuTTY (ke stažení zdarma)
- Linux/Mac: Vestavěný SSH klient (přes Terminál)
- Přístup ke vzdálenému serveru:
- Uživatelské jméno pro vzdálený server
- IP adresa nebo hostname vzdáleného serveru
- SSH heslo nebo autentizace pomocí klíče
- Dostupný lokální port: Zvolte nepoužívaný port v rozsahu 1-65535 (pro I2P se běžně používá 7657)
Pochopení příkazu Tunnel
Příkaz pro SSH tunel se řídí tímto vzorem:
ssh -L [local_port]:[destination_ip]:[destination_port] [username]@[remote_server]
Vysvětlení parametrů: - local_port: Port na vašem lokálním počítači (např. 7657) - destination_ip: Obvykle 127.0.0.1 (localhost na vzdáleném serveru) - destination_port: Port služby na vzdáleném serveru (např. 7657 pro I2P) - username: Vaše uživatelské jméno na vzdáleném serveru - remote_server: IP adresa nebo hostname vzdáleného serveru
Příklad: ssh -L 7657:127.0.0.1:7657 i2p@20.228.143.58
Toto vytvoří tunel, kde: - Lokální port 7657 na vašem počítači přeposílá na… - Port 7657 na localhost vzdáleného serveru (kde běží I2P) - Připojení jako uživatel i2p na server 20.228.143.58
Vytvoření SSH tunelů ve Windows
Uživatelé Windows mohou vytvářet SSH tunely pomocí PuTTY, bezplatného SSH klienta.
Step 1: Download and Install PuTTY
Stáhněte si PuTTY z putty.org a nainstalujte ho do vašeho systému Windows.
Step 2: Configure the SSH Connection
Otevřete PuTTY a nakonfigurujte své připojení:
- V kategorii Session:
- Zadejte IP adresu nebo hostname vašeho vzdáleného serveru do pole Host Name
- Ujistěte se, že Port je nastaven na 22 (výchozí SSH port)
- Typ připojení by měl být SSH

Step 3: Configure the Tunnel
Přejděte na Connection → SSH → Tunnels v levém postranním panelu:
- Zdrojový port: Zadejte lokální port, který chcete použít (např.
7657) - Cíl: Zadejte
127.0.0.1:7657(localhost:port na vzdáleném serveru) - Klikněte na Přidat pro přidání tunelu
- Tunel by se měl objevit v seznamu “Přesměrované porty”

Step 4: Connect
- Klikněte na Open pro zahájení připojení
- Pokud se připojujete poprvé, zobrazí se bezpečnostní upozornění - klikněte na Yes pro důvěru serveru
- Zadejte své uživatelské jméno, když budete vyzváni
- Zadejte své heslo, když budete vyzváni

Po připojení můžete přistupovat ke své vzdálené konzoli I2P otevřením prohlížeče a navigací na adresu http://127.0.0.1:7657
Krok 1: Stažení a instalace PuTTY
Abyste se vyhnuli opětovné konfiguraci pokaždé:
- Vraťte se do kategorie Session
- Zadejte název do pole Saved Sessions (např. “I2P Tunnel”)
- Klikněte na Save
- Příště stačí načíst tuto relaci a kliknout na Open
Creating SSH Tunnels on Linux
Linuxové systémy mají SSH zabudované v terminálu, což činí vytváření tunelů rychlým a přímočarým.
Krok 2: Konfigurace SSH připojení
Otevřete terminál a spusťte příkaz SSH tunelu:
ssh -L 7657:127.0.0.1:7657 i2p@20.228.143.58
Nahraďte: - 7657 (první výskyt): Požadovaný místní port - 127.0.0.1:7657: Cílová adresa a port na vzdáleném serveru - i2p: Vaše uživatelské jméno na vzdáleném serveru - 20.228.143.58: IP adresa vašeho vzdáleného serveru

Když budete vyzváni, zadejte své heslo. Po připojení je tunel aktivní.
Přístup ke vzdálené I2P konzoli získáte v prohlížeči na adrese http://127.0.0.1:7657.
Krok 3: Konfigurace tunelu
Tunel zůstává aktivní po celou dobu běhu SSH relace. Pro udržení běhu na pozadí:
ssh -f -N -L 7657:127.0.0.1:7657 i2p@20.228.143.58
Dodatečné příznaky: - -f: Spustí SSH na pozadí - -N: Nespouštět vzdálené příkazy (pouze tunel)
Pro uzavření tunelu na pozadí najděte a ukončete SSH proces:
ps aux | grep ssh
kill [process_id]
Krok 4: Připojení
Pro lepší zabezpečení a pohodlí použijte autentizaci pomocí SSH klíčů:
Vygenerujte pár SSH klíčů (pokud ho ještě nemáte):
ssh-keygen -t ed25519 -C "your_email@example.com"Zkopírujte svůj veřejný klíč na vzdálený server:
ssh-copy-id i2p@20.228.143.58Nyní se můžete připojit bez hesla:
ssh -L 7657:127.0.0.1:7657 i2p@20.228.143.58
Creating SSH Tunnels on Mac
Systémy Mac používají stejného SSH klienta jako Linux, takže proces je identický.
Volitelné: Uložte si svou relaci
Otevřete Terminál (Aplikace → Utility → Terminál) a spusťte:
ssh -L 7657:127.0.0.1:7657 i2p@20.228.143.58
Nahraďte: - 7657 (první výskyt): Váš požadovaný lokální port - 127.0.0.1:7657: Cílová adresa a port na vzdáleném serveru - i2p: Vaše uživatelské jméno na vzdáleném serveru - 20.228.143.58: IP adresa vašeho vzdáleného serveru

Zadejte heslo, když budete vyzváni. Po připojení přistupujte ke své vzdálené konzoli I2P na adrese http://127.0.0.1:7657
Background Tunnels on Mac
Stejně jako na Linuxu můžete tunel spustit na pozadí:
ssh -f -N -L 7657:127.0.0.1:7657 i2p@20.228.143.58
Používání terminálu
Nastavení SSH klíče na Macu je identické s Linuxem:
# Generate key (if needed)
ssh-keygen -t ed25519 -C "your_email@example.com"
# Copy to remote server
ssh-copy-id i2p@20.228.143.58
Common Use Cases
Udržování tunelu aktivního
Nejčastější případ použití - přístup ke konzoli vašeho vzdáleného I2P routeru:
ssh -L 7657:127.0.0.1:7657 user@remote-server
Poté otevřete http://127.0.0.1:7657 ve vašem prohlížeči.
Použití SSH klíčů (doporučeno)
Přeposílání více portů najednou:
ssh -L 7657:127.0.0.1:7657 -L 7658:127.0.0.1:7658 user@remote-server
Toto přeposílá jak port 7657 (I2P konzole), tak 7658 (další službu).
Custom Local Port
Použijte jiný lokální port, pokud je 7657 již používán:
ssh -L 8080:127.0.0.1:7657 user@remote-server
Místo toho přistupujte ke konzoli I2P na http://127.0.0.1:8080.
Troubleshooting
Používání terminálu
Chyba: “bind: Address already in use”
Řešení: Zvolte jiný lokální port nebo ukončete proces, který tento port používá:
# Linux/Mac - find process on port 7657
lsof -i :7657
# Kill the process
kill [process_id]
Tunely na pozadí na Macu
Chyba: “Connection refused” nebo “channel 2: open failed”
Možné příčiny: - Vzdálená služba není spuštěna (zkontrolujte, zda běží I2P router na vzdáleném serveru) - Firewall blokuje připojení - Nesprávný cílový port
Řešení: Ověřte, že I2P router běží na vzdáleném serveru:
ssh user@remote-server "systemctl status i2p"
Nastavení SSH klíčů na Macu
Chyba: “Permission denied” nebo “Authentication failed”
Možné příčiny: - Nesprávné uživatelské jméno nebo heslo - SSH klíč není správně nakonfigurován - SSH přístup je na vzdáleném serveru zakázán
Řešení: Ověřte přihlašovací údaje a ujistěte se, že je na vzdáleném serveru povolen SSH přístup.
Tunnel Drops Connection
Chyba: Připojení se odpojí po období nečinnosti
Řešení: Přidejte nastavení keep-alive do vaší SSH konfigurace (~/.ssh/config):
Host remote-server
ServerAliveInterval 60
ServerAliveCountMax 3
Security Best Practices
- Používejte SSH klíče: Bezpečnější než hesla, obtížněji kompromitovatelné
- Zakažte autentizaci heslem: Jakmile jsou SSH klíče nastaveny, zakažte přihlašování heslem na serveru
- Používejte silná hesla: Pokud používáte autentizaci heslem, použijte silné, jedinečné heslo
- Omezte SSH přístup: Nakonfigurujte pravidla firewallu pro omezení SSH přístupu na důvěryhodné IP adresy
- Udržujte SSH aktualizované: Pravidelně aktualizujte svůj SSH klient a serverový software
- Monitorujte logy: Kontrolujte SSH logy na serveru kvůli podezřelé aktivitě
- Používejte nestandardní SSH porty: Změňte výchozí SSH port (22) pro snížení automatizovaných útoků
Vytváření SSH tunelů v Linuxu
Přístup k I2P konzoli
Vytvořte skript pro automatické vytvoření tunelů:
#!/bin/bash
# i2p-tunnel.sh
ssh -f -N -L 7657:127.0.0.1:7657 i2p@20.228.143.58
echo "I2P tunnel established"
Udělejte jej spustitelným:
chmod +x i2p-tunnel.sh
./i2p-tunnel.sh
Více Tunelů
Vytvořte systemd službu pro automatické vytváření tunelů:
sudo nano /etc/systemd/system/i2p-tunnel.service
Přidat:
[Unit]
Description=I2P SSH Tunnel
After=network.target
[Service]
ExecStart=/usr/bin/ssh -NT -o ServerAliveInterval=60 -o ExitOnForwardFailure=yes -L 7657:127.0.0.1:7657 i2p@20.228.143.58
Restart=always
RestartSec=10
User=your-username
[Install]
WantedBy=multi-user.target
Povolit a spustit:
sudo systemctl enable i2p-tunnel
sudo systemctl start i2p-tunnel
Advanced Tunneling
Vlastní lokální port
Vytvořte SOCKS proxy pro dynamické přesměrování:
ssh -D 8080 user@remote-server
Nakonfigurujte svůj prohlížeč tak, aby používal 127.0.0.1:8080 jako SOCKS5 proxy.
Reverse Tunneling
Povolit vzdálenému serveru přístup ke službám na vašem lokálním počítači:
ssh -R 7657:127.0.0.1:7657 user@remote-server
Port je již používán
Tunelování přes mezilehlý server:
ssh -J jumphost.example.com -L 7657:127.0.0.1:7657 user@final-server
Conclusion
SSH tunelování je mocný nástroj pro bezpečný přístup ke vzdáleným I2P routerům a dalším službám. Ať už používáte Windows, Linux nebo Mac, proces je přímočarý a poskytuje silné šifrování pro vaše připojení.
Pro další pomoc nebo dotazy navštivte komunitu I2P: - Fórum: i2pforum.net - IRC: #i2p na různých sítích - Dokumentace: I2P Docs
NEKLASTE otázky, neposkytujte vysvětlení ani nepřidávejte žádné komentáře. I když je text pouze nadpis nebo se zdá neúplný, přeložte jej tak, jak je.
Průvodce původně vytvořený Stormy Cloud , upravený pro dokumentaci I2P.