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