Weboldal keresés

SSH-alagút vagy porttovábbítás létrehozása Linuxban


Az SSH-alagút (más néven SSH-porttovábbítás) egyszerűen a helyi hálózati forgalom SSH-n keresztül történő továbbítása a távoli gazdagépekhez. Ez azt jelenti, hogy minden kapcsolata titkosítással védett. Egyszerű módot kínál egy alapvető VPN (virtuális magánhálózat) beállítására, amely hasznos magánhálózatokhoz való csatlakozáshoz nem biztonságos nyilvános hálózatokon, például az interneten keresztül.

Használható arra is, hogy a NAT-ok és tűzfalak mögötti helyi kiszolgálókat biztonságos alagutakon keresztül tegye közzé az Internetnek, az ngrok-ban megvalósított módon.

Az SSH munkamenetek alapértelmezés szerint lehetővé teszik a hálózati kapcsolatok alagútkezelését, és háromféle SSH-port továbbítás létezik: helyi, távoli és dinamikus > port továbbítás.

Ebben a cikkben bemutatjuk, hogyan lehet gyorsan és egyszerűen beállítani az SSH-alagút vagy a különböző típusú porttovábbításokat Linuxban.

Tesztkörnyezet:

E cikk céljaira a következő beállítást használjuk:

  1. Helyi házigazda: 192.168.43.31
  2. Távoli gazdagép: Linode CentOS 7 VPS szerver1.example.com gazdagépnévvel.

Általában az alábbiak szerint tud biztonságosan csatlakozni egy távoli kiszolgálóhoz SSH használatával. Ebben a példában jelszó nélküli SSH bejelentkezést állítottam be a helyi és a távoli gazdagépem között, így nem kérte a felhasználói rendszergazda jelszavát.

ssh [email   

Helyi SSH port továbbítás

Az ilyen típusú porttovábbítás lehetővé teszi, hogy a helyi számítógépről egy távoli kiszolgálóhoz kapcsolódjon. Feltéve, hogy korlátozó tűzfal mögött áll, vagy egy kimenő tűzfal megakadályozza, hogy hozzáférjen a távoli szerver 3000 portján futó alkalmazáshoz.

Továbbíthat egy helyi portot (pl. 8080), amelyet az alábbiak szerint használhat az alkalmazás helyi eléréséhez. A -L jelző határozza meg a távoli gazdagépnek továbbított portot és a távoli portot.

ssh [email  -L 8080:server1.example.com:3000

A -N jelző hozzáadása azt jelenti, hogy ne hajtson végre távoli parancsot, ebben az esetben nem kap shellt.

ssh -N [email  -L 8080:server1.example.com:3000

A -f kapcsoló arra utasítja az ssh-t, hogy a háttérben fusson.

ssh -f -N [email  -L 8080:server1.example.com:3000

Most a helyi gépen nyisson meg egy böngészőt, ahelyett, hogy a távoli alkalmazást a server1.example.com:3000 címmel érné el, egyszerűen használhatja a localhost:8080 vagy 192.168.43.31:8080, az alábbi képernyőképen látható módon.

Távoli SSH port továbbítás

A távoli porttovábbítás lehetővé teszi a távoli gépről a helyi számítógéphez való csatlakozást. Alapértelmezés szerint az SSH nem engedélyezi a távoli porttovábbítást. Ezt a távoli gazdagépen található /etc/ssh/sshd_config SSHD fő konfigurációs fájljában található GatewayPorts direktíva használatával engedélyezheti.

Nyissa meg a fájlt szerkesztésre a kedvenc parancssori szerkesztővel.

sudo vim /etc/ssh/sshd_config 

Keresse meg a szükséges direktívát, törölje a megjegyzéseket, és állítsa az értékét yes-ra, ahogy a képernyőképen is látható.

GatewayPorts yes

Mentse el a változtatásokat és lépjen ki. Ezután újra kell indítania az sshd-t a legutóbbi módosítás alkalmazásához.

sudo systemctl restart sshd
OR
sudo service sshd restart 

Ezután futtassa a következő parancsot a távoli gép 5000 portjának továbbításához a helyi gép 3000 portjára.

ssh -f -N [email  -R 5000:localhost:3000

Ha megértette ezt az alagútkezelési módszert, könnyen és biztonságosan elérhetővé teheti a helyi fejlesztési kiszolgálót, különösen a NAT-ok és tűzfalak mögött, biztonságos alagutakon keresztül az Internet számára. Az olyan alagutak, mint az Ngrok, pagekite, localtunnel és sok más hasonló módon működnek.

Dinamikus SSH port továbbítás

Ez a harmadik típusú porttovábbítás. Ellentétben a helyi és a távoli porttovábbítással, amely egyetlen porttal teszi lehetővé a kommunikációt, a TCP-kommunikáció teljes skáláját teszi lehetővé számos porton keresztül. A dinamikus porttovábbítás a gépet SOCKS proxyszerverként állítja be, amely alapértelmezés szerint az 1080 porton figyel.

Kezdetnek a SOCKS egy internetes protokoll, amely meghatározza, hogy az ügyfél hogyan csatlakozhat a szerverhez proxyszerveren (ebben az esetben SSH-n) keresztül. A dinamikus porttovábbítást a -D kapcsolóval engedélyezheti.

A következő parancs elindít egy SOCKS proxyt az 1080 porton, lehetővé téve a távoli gazdagéphez való csatlakozást.

ssh -f -N -D 1080 [email 

Ezentúl a gépén lévő alkalmazások is használhatják ezt az SSH proxy szervert úgy, hogy módosítják a beállításaikat és konfigurálják a használatukra, hogy csatlakozzanak a távoli szerverhez. Vegye figyelembe, hogy az SSH-munkamenet bezárása után a SOCKS proxy leáll.

Olvassa el még: 5 módszer a távoli SSH-munkamenetek futtatására az SSH bezárása után

Összegzés

Ebben a cikkben bemutattuk a porttovábbítás különböző típusait egyik gépről a másikra a forgalom biztonságos SSH-kapcsolaton keresztüli továbbításához. Ez az egyik az SSH számos felhasználási módja közül. Az alábbi visszajelzési űrlapon keresztül hangot adhat ehhez az útmutatóhoz.

Figyelem: Az SSH port továbbításnak jelentős hátrányai vannak, vissza lehet vele élni: a hálózatfigyelő és forgalomszűrő programok (vagy tűzfalak) megkerülésére használható. A támadók rosszindulatú tevékenységekhez használhatják. Következő cikkünkben bemutatjuk, hogyan lehet letiltani az SSH helyi porttovábbítást. Maradj kapcsolatban!