[megoldva] ssh portfoward

Van egy vidéki végpontom, ami szolgáltató routere mögött csücsül (NAT), vagyis nincs publikus IP címem.
Ezen a hálózaton van egy raspberry pi, amit szeretnék pestről (otthonról) elérni ssh port forward segítségével. Pesten publikus IP címem van freeDNS -el elérhető.
Ha egy nem "védett" portot akarok forwardolni, az anno egy ilyebn egyszerű paranccsal működött:

ssh -R 10080:localhost:10080 tovis@freedns.wn -p 10022

A parancsot a távoli gépen futtattam úgy, hogy óránként megnéztem működike a kapcsolat és ha kellett megpróbáltam újra indítani (crontab).
Akkor amikor ezt használtam, a pesti szerver oldalon az 10080 címen elértem a távoli gépet,, mintha az a szerveren működne (egyébként egy kis web szerver volt erre portra felrakva a távoli eszközön).

Most viszont magát az ssh portot szeretném így beüzemelni sudo -val, de sehogy sem akar működni. Úgy tűnik, miután lefut hogy a szerverbe loginelnék, kiadja a szerver promtját a távoli eszközön.

Mi nem stimmel ezzel a megoldással?

Kijavítottam a port neveket, felhasználtam két jó kis opciót a lejjebb látható scriptből (köszönöm9 és screen -ből indítva működik.
Köszönöm a segítséget!

Hozzászólások

Nem egyszerűbb szólni a szolgáltatónak, hogy kapcsoják ki a NAT-ot? Kb. 5 perc miután felvette az ügyfélszolgálatos a telefont.

Utána beállítod a routered, csinálsz egy dinamikus dns nevet oszt' csá.

- Indítsd újra a gépet! - Az egészet? - Nem, a felét...

Aki nem érti a különbséget, az menjen kapálni, ne ilyen ügyfélszolgálaton dolgozzon. Ezt bele is mondtam a telefonba egyszer. Mindjárt tudták miről beszélek. Csak sokszor játsszák a hülyét, mert úgy könnyebb eladni még valami szart, amire a jobbágynak amúgy semmi szüksége.

 

Egyébként fix ip magánszemélyeknek nem is jár sok szolgáltatónál. Akkor sem ha kéred, mert legtöbbször csak üzleti előfizetéshez tartozik. A publikus IP-ről pedig úgy tudom, hogy van valamilyen hírközlési törvény, amiben benne foglaltatik, hogy a usernek jár a publikus IP alanyi jogon ha kéri, így azért plusz pénzt felszámítani nem lehet.

- Indítsd újra a gépet! - Az egészet? - Nem, a felét...

Kicsit nehézkes (nekem) a kommunikáció velük. De eszembe jutott, hogy most cserélődött a tulajdonos és tavasszal egy egészen értelmes ügyfélszolgálatossal volt dolgom. Lehet érdemes megpróbálkozni ezzel - sok fejfájástól megkímélne.

Pesten üzleti ügyfélként fut az előfizetésem, ott vasárnap késő délután is felkapta a műszaki ügyfélszolgálat a telefont és segített. Nem mondom a vidéki előfizetésem fele annyi (meg a sebesség is).

* Én egy indián vagyok. Minden indián hazudik.

Ez a tövény/jogszabály engem is érdekel. Ha esetleg majd megleled, kérlek csadold ide.

Amúgy igen, a szolgáltatók többsége nem akadékoskodik és feloldjda a NAT-ot.

Tapasztalatok:

  • T-home: feloldják, majd pár hét vagy hónap után visszaállítják NAT-ra. Ez már csak így megy évek óta több helyen is, akár cégról van szó, akár magánszemélyről. Rendszeresen kell szólni nekik, hogy ne csinálják már ezt a baszakosást.
  • DIGI: többnyire nincs nat, de ha mégis, azonnal feloldják ha kéri az ügyfél
  • volt UPC: nem akadékoskodtak, azonnal adtak publikus IP-t
  •  >> Vodafone: kötözködnek és szarnak bele

Öreg róka létemre még nem láttam ezt a switchet!
A https://linux.die.net/man/1/ssh nincs is felsorolva, viszont a --helpo -re kidbja hogy van.
A Raspberry pi -n egy 10 raspbian fut, (4.19.c kernel).

Eltudnád mondani mire is jó ez a "jump" parancs?
Próbálom értelmezni de nem igazán vágom :(

* Én egy indián vagyok. Minden indián hazudik.

Sem nem -R sem nem -L ?

ssh -R 10080:localhost:10080 tovis@freedns.wn -p 10022

ez a távoli ( remote) szerver külső )internet oldali) címe + port.

a localhost pedig a helyi IP cím.

Mi itt a belső és mi a külső?

Bocs, hogy értetlenkedek de ez még mindig zavaros nekem.

* Én egy indián vagyok. Minden indián hazudik.

Sajnos ez nem tűnik hasznosnak. Az a router ami látja a 192.168.1.110 wan címe, nem publikus, egy router mögött csücsül - NAT.

Az a router aminek van publikus IP címe (freeDNS) az meg nem "látja" a 192.168.1.10 címet.

OFF: Egy másik topicban próbálok segítséget kapni az ASUS OpenVPN beállításhoz, mivel a pesti szerverre kapcsolódik a vidéki kliens (két azonos típusú router). A vidéki kliens látja a pesti hálózatot, viszont a pesti szerver oldalról nem látom a vidéki hálózatot- Érthetetlen.

* Én egy indián vagyok. Minden indián hazudik.

Szerkesztve: 2022. 10. 02., v – 13:35

Úgy tűnik, miután lefut hogy a szerverbe loginelnék, kiadja a szerver promtját a távoli eszközön.

igen, ez így müködik, de a portot is forwardolja közben. hásználhatod a -N opciot ha csak forwardra kell.

btw, erre wireguardot használnék.

Miota felfedeztem az openvpn-t, nem szenvedek az ssh port forwarddal. Bohockodjon a fene crontabbal...

Biztonsagi megoldasnak ott a TOR vegpont. Ez legalabb jo lassu.

Szerkesztve: 2022. 10. 02., v – 20:43

Off: múltkor olyasmi gondunk támadt, hogy A-gépről nem lehetett B-re jutni (tűz- és vízfalak), de B-ről A-ra igen; viszont az A:20020 portot kellett volna B:20020-ra továbbítani (rinetd). Ezért a B gépen lett egy ilyen csodaság:

while true;
do
    printf '%s Start\n' "$(date +%Y%m%d.%H%M%S)"
    ssh -n -N -T -o ServerAliveInterval=30 -o ExitOnForwardFailure=yes \
        -R 0.0.0.0:20020:127.0.0.1:20020 user@A
    printf '%s Stop\n\n' "$(date +%Y%m%d.%H%M%S)"
    sleep 10
done

Ez akkor igaz, ha a szolgáltatódnak van megfelelő kapacitása az ilyen feladatokhoz.
Másként több hetes átfutási idő, hibás beállítások stb.
Sokszor, amikor egy harmadik szolgáltató is benne van már az s gond, hogy hol van a hiba.

* Én egy indián vagyok. Minden indián hazudik.

Attól még a tűzfalak ilyetén történő meghágása nem elfogadható. Nekem is volt olyan, hogy SOS-ben kellett DB-t javítani, és ilyen jellegű megoldás maradt - vezetői jóváhagyással, és kizárólag a javítás idejére. Általában nem véletlen, hogy merről-merre mehet át a tcp syn csomag a tűzifán, és merre nem.

Lehet azért nem tudom "röptében" átirányítani mert egyébként ssh -n csatlakozok?
(Nincs konzol, lokálisan is ssh kapcsolatot használok.)

* Én egy indián vagyok. Minden indián hazudik.

Esetleg csinálsz egy ingyenes vm-et pl. oracle cloudban, annak van fix ip címe és arra teszel egy vpn szervert, a raspberry-re meg egy klienst, így bármikor eléred. De a fixip-s vm-et az ssh-s portforwarddal is egyszerűbb elérni. Vagy tailscale.com ingyenes accountal csinálsz magadnak egy vpn-t, felteszed a raspberry-re, felteszed magadhoz és készen vagy.

Desktop: MacOS | Server: CentOS

+1 erre a megoldásra. Tailscale egyébként Wireguardra épül, pár eszközig ingyenes, teljesen jó megoldás. Oracle Cloudban akár viszonylag "combos" arm alapú instance-ot is lehet futtatni ingyen, vagy szimpla x86 VM-et minimális erőforrással, OpenVPN szerverként, és van public IP, Frankfurti régióban nincs is messze. 

Illetve én régen, amikor a vpn nem jöhetett szóba, akkor autossh-t használtam 4-5 éve systemd (illetve akkor még init.d service-ként), itt egy egész jó leírás róla: https://pesin.space/posts/2020-10-16-autossh-systemd/