Seadistage Windowsis SSH-tunnel (pordi edastamine).

Admin

Võite kasutada sisseehitatud OpenSSH-server Windowsis portide edastamiseks läbi an SSH tunnel (SSH tunneldamine). Pordiedastus SSH-s võimaldab teil tunneldada (edasida) rakendusporte kohalikust arvutist kaugserverisse ja vastupidi. Pordiedastus SSH-tunneli kaudu on laialdaselt kasutusel Linuxi/Unixi keskkondades ja nüüd saate seda funktsiooni kasutada ka Windowsis. Selles näites näitame, kuidas tunneldada RDP-ühenduse liiklust OpenSSH kaudu Windows Serveri hostis.

Sisu:

  • RDP turvamine SSH tunneliga (kohalik TCP edastamine)
  • Kuidas luua SSH-tunnelit Windowsis Putty abil?
  • TCP kaugedastus (Reverse SSH) kohalikku arvutisse

Mis on SSH tunneldamine?

SSH-tunnel pakub turvalise, krüptitud TCP-ühenduse kohaliku hosti ja kaug-SSH-serveri vahel. SSH-pordi edastamine võimaldab teil SSH kaudu tunneldada ühendust kohaliku masina kohalikust pordist mis tahes kaugserveri TCP-pordiga (või vastupidi).

Pordiedastust SSH tunnelites kasutatakse:

  • Mööda tulemüüridest;
  • tagauste avamine eravõrkudele;
  • VPN-stsenaariumide asendused turvalise kaugühenduse jaoks;
  • Kaitske pärandrakenduste (protokollide) liiklust, mis edastavad andmeid selge tekstina (ilma krüptimiseta).

TCP-liiklust/porti saab edastada ainult SSH-tunnelisse (UDP- ja ICMP-protokolle ei toetata).

SSH-tunnelit kasutatakse enamasti stsenaariumide korral, kui peate looma ühenduse tulemüüri taga asuva kaugarvutiga. Näiteks on teil Windows Server, millel on avatud ainult SSH-port (TCP 22). Kõik muud pordid blokeerib riistvara tulemüür või Windows Defenderi tulemüür. Teie ülesanne on luua RDP-kliendi abil ühendus Windows Serveriga. See tunduks võimatu ülesanne, sest Kaugtöölaua port 3389 on tulemüüri poolt blokeeritud. Siiski pääsete SSH-tunneli kaudu juurde kaughosti kõikidele portidele.

Siin on SSH-tunneldamise tüüpilised kasutusstsenaariumid:

  • Kohalik TCP edastamine on kohalik port, mis edastab kaugserverisse;
  • TCP kaugedastus on kaugport, mis edastab kohalikku arvutisse;
  • Kahekordne SSH tunnel – võimaldab ühendada arvuteid ilma eraldamata avalikud IP-aadressid või NAT-i/tulemüüri taga SSH-serveri kaudu (kui OpenVPN server lahendus ei ole rakendatav).

RDP turvamine SSH tunneliga (kohalik TCP edastamine)

Selles režiimis loote arvutis kohaliku TCP-pordi. Kõik ühendused selle pordiga suunatakse SSH tunneli kaudu kaugserveri määratud porti. Selles näites loome kohaliku pordi 8888ja ühendus sellega suunatakse RDP-porti 3389 Windowsi kaughostis. Üldine ühendusskeem näeb välja selline:

Windows 10 ssh tunnel

Vajame pordi edastamiseks SSH-klienti. Võite kasutada kolmanda osapoole klienti (nt Putty), kuid ma kasutan seda sisseehitatud SSH-klient Windowsis. OpenSSH-kliendi installimiseks opsüsteemi Windows 10/11 või Windows Server 2022/2019 käivitage PowerShelli konsoolis järgmine käsk:

Get-WindowsCapability -Online |? Name -like 'OpenSSH.Client*'

SSH-tunneli loomiseks kaughostiga 192.168.1.90 käivitage käsk:

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

Selles näites kasutatakse järgmist ühendusstringi: LOCAL_PORT: DESTINATION_IP: DESTINATION_PORT ja [email protected]_IP (Kaug-SSH-serveri kasutajanimi ja aadress)

SSH-tunneli taustal töötamiseks lisage –f parameeter.

Windows 10 ühendab RSP-ga ssh-tunneli abil

Kaugtöölauaga ühenduse loomiseks SSH-tunneli kaudu peate RDP-kliendi (mstsc.exe) abil looma ühenduse oma arvuti kohaliku pordiga 8888:

127.0.0.1:8888

mstsc rdp pordi edastamine

Logige sisse kaugarvutisse ja töötage RDP seansis turvaliselt. Võite kasutada Get-NetTCPConnection cmdlet või TCPView tööriist, et veenduda, et RDP-ühendus on loodud kohapeal (RDP-ühenduse algatas kohapeal töötav SSH-server):

Get-NetTCPConnection -State Established|where {$_.localport -eq "3389"}|fl

kontrollige ühenduse allika IP-d ja porti Windowsis
Saate kontrollida, et serveri TCP/3389 port pole teie arvutist otse juurdepääsetav. Pordi saadavust saate kontrollida kasutades Test-NetConnection cmdlet:

Test-NetConnection 192.168.1.90 -port 3389

TcpTest Succeeded: vale

Seda tunnelit saavad kasutada ka teised teie kohaliku võrgu arvutid samal ajal ühenduse loomiseks RDP serveriga isegi kui otseühendus pole lubatud (nii SSH kui ka RDP kaudu). Selleks peavad nad teie arvuti pordiga 8888 ühenduse loomiseks kasutama RDP klienti (koos SSH tunneliga):

mstsc.exe /v 10.10.1.220:8888

mstsc rdp-pordi edastamine ssh-tunneli kaudu Windows 10-s

RDP-ühenduse turvamine SSH-tunneliga võib olla hea VPN-i alternatiiv avalikele Windowsi hostidele juurdepääsuks. Sel juhul ei pea te Windowsi hosti RDP/3389 porti otse avama. Piisab ainult SSH/22 pordi avamisest, mis teid kaitseb RDP toore jõu rünnakud ja 0-päevaste RDP haavatavuste ärakasutamine.

Võite kasutada sshpass tööriist SSH-i sisselogimise paroolide automatiseerimiseks. Saate seda tööriista käivitada läbi WSL2 alamsüsteem Windowsi jaoks.

Installige sshpass Ubuntu WSL-i:

$ sudo apt-get -y install ssphass

Käivitage Remote Desktop Connection klient (mstsc.exe) ja salvestage ühenduse sätted faili localhost-3389.rdp:

Arvuti: localhost: 8888. Kasutajanimi: kaugkasutajanimi

Salvestatud SSH-parooliga kaug-RDP-hostiga automaatseks ühenduse loomiseks kasutage järgmist bat-faili:

start /min wsl sshpass -p "password" ssh -L 8888:192.168.31.90:3389 [email protected]
powershell sleep 5
start mstsc C:\script\localhost-3389.rdp

Või (soovitavalt) seadistage SSH-võtme autentimine.

Kuidas luua SSH-tunnelit Windowsis Putty abil?

Vaatame, kuidas populaarse SSH-kliendi abil Windowsis SSH-tunnelit luua Kitt.

  1. Käivitage PuTTY ja navigeerige saidile Ühendus -> SSH -> Tunnelid;
  2. Määrake kohaliku pordi number Lähteport (meie näites on see nii 8888);
  3. Ühenduse edastamiseks määrake SSH-serveri IP-aadress ja kaughosti port: 192.168.31.90:3389
  4. Valige Kohalik sihtkohta ja klõpsake Lisama;loo ssh tunneliga edastatud port kittis
  5. Et vältida kaughosti kesta avamist tunneli kaudu ühenduse loomisel, lubage Ärge üldse käivitage kesta ega käsku valik SSH jaotises;kitt Ärge käivitage kesta ega käsku üldse
  6. Naaske vahekaardile Seanss, määrake kaug-SSH-hosti nimi või IP-aadress ja ühenduse pordi number (vaikimisi 22). Määrake väljale Saved Session seansi nimi ja klõpsake nuppu Salvesta;
  7. Nüüd saate Putty salvestatud SSH-tunneli käivitada otse Windows 10 tegumiribalt.pahteldamine salvestatud seanss

TCP kaugedastus (Reverse SSH) kohalikku arvutisse

On veel üks SSH tunneli kasutusjuht – kaug-TCP edastamine. Saate lubada kaugserveril SSH-tunneli kaudu juurdepääsu teie arvuti kohalikule pordile või kohaliku võrgu mõne teise arvuti pordile. Näiteks soovite, et väline server (192.168.1.90) pääseks juurde teie sisevõrgu saidile (pole Internetis avaldatud). Pöördtunneli loomiseks kasutage järgmist käsku:

ssh -R 8080:internalwww: 80 [email protected]

Nüüd sisestage lihtsalt aadress, et pääseda sisemisele veebisaidile kaug-SSH-serverist http://localhost: 8080 brauseris.

Kõigis Windowsi versioonides saate luua pordi edastamise reeglid kasutades netsh interface portproxy käsk.

SSH tunnelite abil saate luua pordi edastamise ahelaid. SSH tunneldamise saate lubada või keelata OpenSSH konfiguratsioonifailis (sshd_config), kasutades järgmisi direktiive:

AllowStreamLocalForwarding jah. AllowTcpForwarding kaugjuhtimispult. PermitTunnel nr

Need konfiguratsioonijuhised pole OpenSSH for Windowsi praeguses versioonis saadaval.

Võrgu failiedastuskiiruse piiramine Windowsis
Võrgu failiedastuskiiruse piiramine Windowsis

Selles artiklis näitame teile, kuidas piirata võrgu andmeedastuskiirust Windows Server 2016 ja Wi...

Kuidas varundada (eksportida) ja taastada seadme draivereid opsüsteemis Windows 10?
Kuidas varundada (eksportida) ja taastada seadme draivereid opsüsteemis Windows 10?

Pärast Windowsi uuesti installimist/puhas installimist peab kasutaja installima arvutisse install...

Interneti-ühenduse jagamine (ICS) lakkab töötamast pärast Windows 10 taaskäivitamist
Interneti-ühenduse jagamine (ICS) lakkab töötamast pärast Windows 10 taaskäivitamist

Interneti-ühenduse jagamine (ICS) teenus Windowsis võimaldab jagada teie arvuti Interneti-ühendus...