pub.michuk.eu
Zpřístupněte lokální port na internetu jen pomocí ssh.
1. Získejte přístup
Tunely můžou otevírat jen povolené SSH klíče. Pošlete Michalovi svůj veřejný klíč, soubor .pub (nikdy ne ten soukromý). Stačí ten, který už máte:
cat ~/.ssh/id_ed25519.pub
Když žádný nemáte, vytvořte si ho (na otázky stačí odpovědět Enterem):
ssh-keygen -t ed25519
Pro tunely můžete mít i samostatný klíč. Pak ho k příkazům přidejte jako
-i ~/.ssh/cesta-ke-klíči.
2. Sestavte si příkaz
HTTPS tunel
Zvolte si název, nebo ho vynechte a dostanete náhodný:
ssh -p 2222 -R myapp:80:localhost:3000 pub.michuk.eu
# → https://myapp.pub.michuk.eu
ssh -p 2222 -R 80:localhost:3000 pub.michuk.eu
# → https://<náhodný>.pub.michuk.eu
Místo 3000 dejte svůj lokální port. TLS se řeší tady, vaše aplikace
dostane čisté HTTP s hlavičkami X-Forwarded-For a
X-Forwarded-Proto: https.
TCP tunel
Pro SSH, databáze, herní servery. Porty 40000–40099,
0 vybere volný:
ssh -p 2222 -R 40010:localhost:22 pub.michuk.eu
# → pub.michuk.eu:40010
ssh -p 2222 -R 0:localhost:25565 pub.michuk.eu
Zkratka
Přidejte do ~/.ssh/config:
Host tun
HostName pub.michuk.eu
Port 2222
ServerAliveInterval 30
ExitOnForwardFailure yes
Pak stačí:
ssh -N -R myapp:80:localhost:3000 tun
Dobré vědět
- Používejte adresu, kterou vypíše. Když je název nebo port obsazený, dostanete náhodný.
- Tunel žije, dokud trvá SSH spojení. Pro dlouhodobé tunely
použijte
autossh -M 0 …nebo smyčku. - Víc tunelů najednou: zopakujte
-Rv jednom příkazu. - Kdo dřív přijde, ten dřív mele, a tunel otevře každý, kdo zná odkaz. Nevystavujte nic, co nemá vlastní přihlášení.