Kuinka luoda SSH-tunnelointi tai porttien edelleenlähetys Linuxissa


SSH-tunnelointi (jota kutsutaan myös nimellä SSH-portin edelleenlähetys) on yksinkertaisesti reitittää paikallinen verkkoliikenne SSH: n kautta etäisäntiin. Tämä tarkoittaa, että kaikki yhteytesi on suojattu salauksella. Se tarjoaa helpon tavan perustaa VPN (Virtual Private Network) -verkko, joka on hyödyllinen yhteyden muodostamiseksi yksityisiin verkkoihin suojaamattomissa julkisissa verkoissa, kuten Internet.

Sinua voidaan myös käyttää paljastamaan paikalliset palvelimet NAT: n ja palomuurien takana Internetille suojattujen tunneleiden kautta, kuten ngrokissa toteutetaan.

[Saatat pitää myös: OpenSSH-palvelimen suojaaminen ja parantaminen]

SSH-istunnot sallivat oletusarvoisesti verkkoyhteyksien tunneloinnin, ja SSH-porttien edelleenlähetystä on kolme tyyppiä: paikallinen, etä- ja dynaaminen portin edelleenlähetys.

Tässä artikkelissa näytämme, kuinka nopeasti ja helposti voidaan määrittää SSH-tunnelointi tai erityyppiset porttien edelleenlähetykset Linuxissa.

Tässä artikkelissa käytämme seuraavia asetuksia:

  1. Paikallinen isäntä: 192.168.43.31
  2. Etäkone: Linode CentOS 7 VPS isäntänimellä server1.example.com.

Yleensä voit muodostaa turvallisen yhteyden etäpalvelimeen SSH: n avulla seuraavasti. Tässä esimerkissä olen määrittänyt salasanattoman SSH-kirjautumisen paikallisten ja etäisäntänne välillä, joten se ei ole pyytänyt käyttäjän järjestelmänvalvojan salasanaa.

$ ssh [email   

Paikallinen SSH-porttien edelleenlähetys

Tämäntyyppisen porttisiirron avulla voit muodostaa yhteyden paikalliselta tietokoneeltasi etäpalvelimeen. Oletetaan, että olet rajoittavan palomuurin takana tai lähtevä palomuuri on estänyt sinua pääsemästä etäpalvelimen portissa 3000 toimivaan sovellukseen.

Voit välittää paikallisen portin (esim. 8080), jonka avulla voit käyttää sovellusta paikallisesti seuraavasti. -L -lippu määrittää etäisäntäkoneelle ja etäportille välitetyn portin.

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

-N -lipun lisääminen tarkoittaa, että älä suorita etäkomentoa, et saa tässä tapauksessa kuorta.

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

Kytkin -f kehottaa ssh: ää toimimaan taustalla.

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

Avaa nyt paikallisella koneellasi selain sen sijaan, että käyttäisit etäsovellusta osoitepalvelimen1.esimerkki.fi: 3000 avulla, voit yksinkertaisesti käyttää localhost: 8080 tai 192.168.43.31: 8080 , kuten alla olevassa kuvakaappauksessa näkyy.

SSH-porttien etähallinta

Etäportin edelleenohjauksen avulla voit muodostaa yhteyden etälaitteestasi paikalliseen tietokoneeseen. Oletusarvon mukaan SSH ei salli porttien etälähetystä. Voit ottaa tämän käyttöön etäpalvelimen SSHD-pääasetustiedostossa/etc/ssh/sshd_config olevan GatewayPorts-käskyn avulla.

Avaa tiedosto muokkausta varten suosikkikomentorivieditorilla.

$ sudo vim /etc/ssh/sshd_config 

Etsi vaadittu direktiivi, poista sen kommentit ja aseta sen arvoksi yes , kuten kuvakaappaus osoittaa.

GatewayPorts yes

Tallenna muutokset ja poistu. Seuraavaksi sinun on käynnistettävä sshd uudelleen, jotta voit tehdä äskettäin tekemäsi muutoksen.

$ sudo systemctl restart sshd
OR
$ sudo service sshd restart 

Suorita seuraava komento siirtääksesi etäkoneen portin 5000 paikallisen koneen porttiin 3000.

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

Kun ymmärrät tämän tunnelointimenetelmän, voit paljastaa paikallisen kehityspalvelimen helposti ja turvallisesti, erityisesti NAT: iden ja palomuurien takana, Internetille suojattujen tunneleiden kautta. Tunnelit, kuten Ngrok, pagekite, localtunnel ja monet muut, toimivat samalla tavalla.

Dynaaminen SSH-portin edelleenlähetys

Tämä on kolmas porttisiirtotyyppi. Toisin kuin paikallinen ja etäporttien edelleenlähetys, joka mahdollistaa tiedonsiirron yhden portin kanssa, se mahdollistaa täyden valikoiman TCP-viestintää useiden porttien välillä. Dynaaminen portin edelleenlähetys määrittää koneesi SOCKS-välityspalvelimeksi, joka kuuntelee oletusarvoisesti porttia 1080.

Ensinnäkin SOCKS on Internet-protokolla, joka määrittelee, miten asiakas voi muodostaa yhteyden palvelimeen välityspalvelimen (tässä tapauksessa SSH) kautta. Voit ottaa dynaamisen portin edelleenlähetyksen käyttöön -D-vaihtoehdolla.

Seuraava komento käynnistää SOCKS-välityspalvelimen portissa 1080, jolloin voit muodostaa yhteyden etäisäntään.

$ ssh -f -N -D 1080 [email 

Tästä lähtien voit saada koneesi sovellukset käyttämään tätä SSH-välityspalvelinta muokkaamalla niiden asetuksia ja määrittämällä ne käyttämään sitä, muodostamaan yhteyden etäpalvelimeen. Huomaa, että SOCKS-välityspalvelin lakkaa toimimasta, kun olet sulkenut SSH-istunnon.

Tässä artikkelissa selitimme erityyppisiä portteja, jotka välittävät koneesta toiseen liikenteen tunnelointiin suojatun SSH-yhteyden kautta. Tämä on yksi SSH: n hyvin monista käyttötavoista. Voit lisätä äänesi tähän oppaaseen alla olevan palautelomakkeen avulla.

Huomio: SSH-porttien edelleenlähetyksellä on joitain merkittäviä haittoja, sitä voidaan käyttää väärin: Sitä voidaan käyttää verkonvalvonta- ja liikenteen suodatusohjelmien (tai palomuurien) ohittamiseen. Hyökkääjät voivat käyttää sitä haitalliseen toimintaan. Seuraavassa artikkelissamme näytämme, kuinka SSH-paikallisen portin edelleenlähetys poistetaan käytöstä. Pysyä yhteydessä!