Port továbbítás SSH alagúton keresztül a Windows rendszerben

Ebben a cikkben bemutatjuk, hogyan lehet használni a beépített Windows OpenSSH szervert kikötő továbbítás SSH alagúton keresztül (SSH alagút). A porttovábbítás az SSH-ban lehetővé teszi az alkalmazások portjainak átjárását (továbbítása) a helyi számítógéptől a távoli szerverre és fordítva. Korábban az SSH-alagúton keresztüli porttovábbítást csak a Linux / Unix környezetben használták, de most ezeket a funkciókat a Windows is használhatja. Nézzünk egy gyakorlati példát egy RDP-kapcsolat továbbítására Windows Server kiszolgálón keresztül egy SSH-kiszolgálón keresztül egy nyitott TCP-porttal 22.

Az SSH-n keresztüli porttovábbítást leggyakrabban akkor használják, amikor csatlakozni kell egy tűzfal által védett távoli számítógéphez. Például van egy olyan Windows szervere, amelyen csak az SSH port (TCP 22) van nyitva. Az összes többi portot hardver vagy Windows tűzfal blokkolja. Az Ön feladata, hogy csatlakozzon a Windows szerver asztalához az RDP kliens segítségével. Lehetetlennek tűnik, mert Az RDP 3389-et egy tűzfal blokkolja. Ugyanakkor használhatja a port-továbbítási technológiát egy ssh alagúton keresztül..

A következő SSH továbbítási parancsfájlokat használják leggyakrabban:

  • Helyi TCP továbbítás - továbbít egy helyi portot egy távoli kiszolgálóra;
  • Távoli TCP továbbítás - továbbítsa a távoli portot a helyi számítógépre;
  • Kettős ssh alagút - lehetővé teszi a számítógépek összekapcsolását SSH-kiszolgálón keresztül, dedikált fehér IP-címek nélkül vagy a NAT mögött elhelyezve (ha az OpenVPN-mel nem oldott megoldás)

RDP hozzáférés SSH alagúton keresztül (helyi TCP továbbítás)

Ebben a módban létrehoz egy helyi TCP portot a számítógépén, amelynek a kapcsolatait az SSH alagúton átirányítja a távoli kiszolgáló megadott portjára. Ebben a példában létrehozunk egy helyi portot 8888, amikor csatlakozik, akkor átirányítást hajtanak végre ebből a portból az RDP portba 3389 távoli számítógép. Az általános csatlakozási ábra így néz ki:

SSH-alagút létrehozásához a beépített SSH-kliens segítségével (beépített Windows 10 1809 és Windows Server 2019) futtassa a következő parancsot:

ssh -L 8888: 192.168.1.90: 3389 [email protected]

Az SSH alagút működéséhez a háttérben hozzá kell adnia a paramétert -f.

Most, hogy csatlakozzon a távoli számítógéphez az SSH alagúton keresztül, csatlakoznia kell az mstsc.exe RDP klienst a számítógép 8888 helyi portjához:

127.0.0.1:8888

Jelentkezzen be a távoli számítógépre, és biztonságosan működhet az RDP-munkameneten, miközben emlékszik, hogy a 3389-es port még mindig zárva van a tűzfalban. A TCPView használatával ellenőrizheti, hogy az RDP kapcsolat létrejött-e helyi szinten (az RDP kapcsolatot egy helyileg futó SSH szerver kezdeményezte).

Felhívjuk figyelmét, hogy ha így átirányítja a titkosítatlan alkalmazásforgalmat, akkor titkosított formában továbbítja azt a hálózaton keresztül. A homlok esetében a forgalom az SSH kapcsolat egyik végén van titkosítva, a másikban pedig visszafejtve.

Ebben a módban a helyi hálózat többi számítógépe is csatlakozhat a távoli RDP-kiszolgálóhoz, még akkor is, ha teljesen blokkolta a távoli szerverhez való közvetlen hozzáférést (mind SSH, mind RDP-n keresztül). Ehhez csatlakoztatniuk kell az RDP ügyfelet a számítógép 8888-as portjához, amelyen az SSH alagút létrejön:

mstsc.exe / v 10.10.1.220:8888

Távoli port átvitele egy helyi gépre (Távoli TCP továbbítás)

Van egy másik eset az SSH alagútban - a távoli TCP továbbítás. Az SSH-alagúton keresztül távoli szerver hozzáférést engedélyezhet a számítógép helyi portjához vagy a helyi hálózat másik számítógépének portjához. Például egy külső szervert (192.168.1.90) szeretne elérni az intranetes webhelyhez (az interneten nem jelenik meg). Fordított alagút létrehozásához használja ezt a parancsot:

ssh-R 8080: belső websever: 80 felhasználó@192.168.1.90

Most, hogy hozzáférjen a belső websever webkiszolgálóhoz egy távoli SSH szerveren, csak írja be a címet a böngészőbe http: // localhost: 8080.

A Windows összes verziójában a parancs segítségével hozhat létre port-továbbítási szabályokat netsh interfész portproxy.

Az SSH alagutakkal egész láncokat építhet a portok továbbításához. Engedélyezheti vagy letilthatja az SSH-alagút használatát a konfigurációs fájlban sshd_config irányelvek:

AllowStreamLocalForwarding igen

AllowTcpForwarding távirányító