Android

Az SSH-alagút beállítása (port-továbbítás)

Távoli asztal – Ubunturól Ubuntura

Távoli asztal – Ubunturól Ubuntura

Tartalomjegyzék:

Anonim

Az SSH alagút vagy az SSH port továbbítása egy titkosított SSH kapcsolat létrehozásának módja az ügyfél és egy kiszolgáló gép között, amelyen keresztül a szolgáltatási portok továbbíthatók.

Az SSH továbbítás hasznos olyan szolgáltatások hálózati adatainak átviteléhez, amelyek nem titkosított protokollt használnak, mint például VNC vagy FTP, a földrajzilag korlátozott tartalomhoz való hozzáféréshez vagy a közbenső tűzfalak megkerüléséhez. Alapvetően bármilyen TCP-portot továbbíthat, és alakulhat át a forgalom biztonságos SSH-kapcsolaton keresztül.

Háromféle SSH port-továbbítás létezik:

  • Helyi kikötőszállítás. - Csatlakozást továbbít az ügyfélgépről az SSH kiszolgáló gazdagépére, majd a célgazda portjára. Távoli port továbbítás. - Portot továbbít a kiszolgáló gazdagépről a kliens gazdagépre, majd a célgazda portra. Dinamikus port továbbítása. - SOCKS proxy szervert hoz létre, amely lehetővé teszi a kommunikációt számos porton keresztül.

, a helyi, távoli és dinamikus titkosított SSH alagutak beállításáról fogunk beszélni.

Helyi kikötőszállítás

A helyi port továbbítása lehetővé teszi a helyi (ssh kliens) gépen egy port továbbítását a távoli (ssh szerver) gépen található portra, amelyet ezután továbbít a cél gépen található porthoz.

Az ilyen típusú továbbítás során az SSH kliens egy adott porton meghallgatja és alaposan átmenetileg csatlakozik az adott porthoz a távoli SSH szerver megadott portjához, amely ezután kapcsolódik a célgép portjához. A célgép lehet távoli SSH-kiszolgáló vagy bármilyen más számítógép.

A helyi port-továbbítást általában egy belső hálózat, például adatbázis vagy VNC-kiszolgáló távoli szolgáltatáshoz való csatlakozásra használják.

Linux, macOS és más Unix rendszerekben helyi port-továbbítás létrehozásához adja át az -L opciót az ssh kliensnek:

ssh -L LOCAL_PORT:DESTINATION:DESTINATION_PORT SSH_SERVER

Az alkalmazott lehetőségek a következők:

  • LOCAL_PORT - A helyi gép ip és portszáma. Ha LOCAL_IP a LOCAL_IP , az ssh kliens kötődik a localhost-ra. DESTINATION:DESTINATION_PORT - A célgép IP-címe vagy gazdaneve és portja. SERVER_IP - A távoli SSH felhasználó és a kiszolgáló IP címe.

Bármely 1024 nél nagyobb portszámot használhat LOCAL_PORT . Az 1024 nél kevesebb portok privilegizált portok, amelyeket csak a root használhat. Ha az SSH-kiszolgálója a 22-től eltérő porton hallgat (alapértelmezett), akkor használja a -p beállítást.

A célgazdagépnévnek meg kell oldódnia az SSH-kiszolgálón.

Tegyük fel, hogy van egy MySQL adatbázis-kiszolgáló, amely a db001.host gépen db001.host egy belső (magán) hálózaton, a 3306-as porton, amely elérhető a pub001.host és a helyi mysql kliens segítségével csatlakozni kíván az adatbázis-kiszolgálóhoz. Ehhez a kapcsolatot így továbbíthatja:

ssh -L 3336:db001.host:3306 [email protected]

A parancs futtatása után a rendszer felszólítja a távoli SSH felhasználói jelszó megadására. A belépés után be lesz jelentkezve a távoli kiszolgálóra, és létrejön az SSH alagút. Érdemes beállítani egy SSH kulcs alapú hitelesítést, és jelszó megadása nélkül csatlakozni a szerverhez.

Most, ha a helyi gépi adatbázis-ügyfelet 127.0.0.1:3336 állítja, a kapcsolat a db001.host:3306 MySQL szerverre kerül továbbításra a pub001.host gépen keresztül, amely közbenső szerverként fog működni.

Több portot továbbíthat több rendeltetési helyre egyetlen ssh paranccsal. Például van egy másik MySQL adatbázis-kiszolgáló, amely a db002.host gépen db002.host és csatlakozni szeretne mindkét szerverhez a helyi ügyfélen:

ssh -L 3336:db001.host:3306 3337:db002.host:3306 [email protected]

A második szerverhez való csatlakozáshoz a 127.0.0.1:3337 kell használni.

Ha a célállomás megegyezik az SSH-kiszolgálóval, ahelyett, hogy megadná a célgazda IP-t vagy gazdagépnevet, akkor használhatja a localhost .

Tegyük fel, hogy csatlakoznia kell egy távoli számítógéphez a VNC-n keresztül, amely ugyanazon a szerveren fut, és amelyhez nem lehet hozzáférni. Az Ön által használt parancs:

ssh -L 5901:127.0.0.1:5901 -N -f [email protected]

Az -f opció azt jelzi, hogy az ssh parancs a háttérben fut, és -N nem hajt végre távoli parancsot. localhost használunk, mert a VNC és az SSH szerver ugyanazon a gépen fut.

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

A távoli port-továbbítás ellentétes a helyi port-továbbítással. Ez lehetővé teszi egy távoli (ssh szerver) gépen egy port továbbítását a helyi (ssh kliens) gépen található portra, amelyet ezután továbbítanak a cél gépen található porthoz.

Ilyen típusú továbbításkor az SSH szerver meghallgat egy adott porton, és alagútba kapcsol minden csatlakozást a helyi SSH kliens megadott portjához, amely ezután kapcsolódik a célgép portjához. A rendeltetési gép lehet helyi vagy bármilyen más.

Linux, macOS és más Unix rendszerekben távoli port-továbbítás létrehozásához adja át az -R opciót az ssh kliensnek:

ssh -R REMOTE_PORT:DESTINATION:DESTINATION_PORT SSH_SERVER

Az alkalmazott lehetőségek a következők:

  • REMOTE_PORT - Az IP és a port száma a távoli SSH szerveren. Egy üres REMOTE azt jelenti, hogy a távoli SSH szerver minden felületen kötődik. DESTINATION:DESTINATION_PORT - A célgép IP-címe vagy gazdaneve és portja. SERVER_IP - A távoli SSH felhasználó és a kiszolgáló IP címe.

A helyi kikötői továbbítást általában arra használják, hogy kívülről valakinek hozzáférést biztosítson a belső szolgáltatásokhoz.

Tegyük fel, hogy webes alkalmazást fejleszt a helyi gépen, és előnézetét szeretne megjeleníteni a fejlesztő társának. Nincs nyilvános IP-je, így a másik fejlesztő nem fér hozzá az alkalmazáshoz az interneten keresztül.

ssh -L 8080:127.0.0.1:3000 -N -f [email protected]

A fenti parancs arra készteti az ssh szervert, hogy meghallgassa a 8080 -as portot, és 8080 átjárja az ebből a portból származó forgalmat a helyi porton a 3000 porton.

Fejlesztője most beírhatja the_ssh_server_ip:8080 at böngészőjébe, és the_ssh_server_ip:8080 a fantasztikus alkalmazását.

Dinamikus port-továbbítás

A dinamikus porttovábbítás lehetővé teszi egy socket létrehozását a helyi (ssh kliens) gépen, amely SOCKS proxy szerverként működik. Amikor egy ügyfél csatlakozik ehhez a porthoz, a kapcsolatot továbbítják a távoli (ssh szerver) gépen, amelyet ezután továbbítanak a célgép dinamikus portjára.

Ilyen módon a SOCKS proxy-t használó összes alkalmazás csatlakozik az SSH szerverhez, és a szerver továbbítja az összes forgalmat a tényleges rendeltetési helyére.

Linuxban, macOS-ban és más Unix rendszerekben dinamikus port-továbbítás (SOCKS) létrehozásához adja át a -D opciót az ssh kliensnek:

ssh -D LOCAL_PORT SSH_SERVER

Az alkalmazott lehetőségek a következők:

  • LOCAL_PORT - A helyi gép ip és portszáma. Ha LOCAL_IP a LOCAL_IP , az ssh kliens kötődik a localhost-ra. SERVER_IP - A távoli SSH felhasználó és a kiszolgáló IP címe.

A dinamikus port-továbbítás tipikus példája a böngésző forgalmának alagútja SSH-kiszolgálón keresztül.

A következő parancs SOCKS alagutat hoz létre a 9090 porton:

ssh -D 9090 -N -f [email protected]

Az alagút létrehozása után konfigurálhatja az alkalmazást annak használatához. Ez a cikk ismerteti, hogyan konfigurálhatja a Firefox és a Google Chrome böngészőt a SOCKS proxy használatához.

A port-átirányítást külön kell konfigurálni minden olyan alkalmazáshoz, amelyhez a forgalom úgy gondolta, hogy átjárja.

Az SSH-alagút beállítása a Windows-ban

A Windows felhasználók a PuTTY SSH kliens használatával létrehozhatnak SSH alagutakat. A PuTTY-t itt töltheti le.

  1. Indítsa el a Putty-t, és írja be az SSH-kiszolgáló IP-címét a Host name (or IP address) mezőbe.

    Megjelenik egy új ablak, amelyben felhasználónevet és jelszót kér. Miután megadta felhasználónevét és jelszavát, bejelentkezik a szerverre, és elindul az SSH alagút.

    A nyilvános kulcsú hitelesítés beállítása lehetővé teszi, hogy jelszó megadása nélkül csatlakozzon a szerverhez.

Következtetés

Megmutattuk, hogyan kell beállítani az SSH alagutakat és tovább továbbítani a forgalmat biztonságos SSH kapcsolaton keresztül. A használat megkönnyítése érdekében meghatározhatja az SSH alagutat az SSH konfigurációs fájljában, vagy létrehozhat egy Bash álnevet, amely beállítja az SSH alagutat.

SSH biztonság