Kuinka luoda SSH-tunnelointi tai portin edelleenlähetys Linuxissa


SSH-tunnelointi (kutsutaan myös SSH-portin edelleenohjaukseksi) on yksinkertaisesti paikallisen verkkoliikenteen reitittämistä SSH:n kautta etäisäntään. Tämä tarkoittaa, että kaikki yhteytesi on suojattu salauksella. Se tarjoaa helpon tavan määrittää perus VPN (Virtual Private Network), joka on hyödyllinen yhteyden muodostamiseen yksityisiin verkkoihin suojaamattomien julkisten verkkojen, kuten Internetin, kautta.

Sinua voidaan myös käyttää paljastamaan paikalliset palvelimet NAT:ien ja palomuurien takana Internetille suojattujen tunneleiden kautta, kuten ngrok on toteutettu.

SSH-istunnot sallivat oletuksena verkkoyhteyksien tunneloinnin, ja SSH-portin edelleenohjausta on kolmea tyyppiä: paikallinen, etä ja dynaaminen. > porttiohjaus.

Tässä artikkelissa näytämme kuinka nopeasti ja helposti määrität SSH-tunneloinnin tai erityyppiset portin edelleenlähetykset Linuxissa.

Testausympäristö:

Käytämme tätä artikkelia varten seuraavaa kokoonpanoa:

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

Yleensä voit muodostaa suojatun yhteyden etäpalvelimeen käyttämällä SSH:ta seuraavasti. Tässä esimerkissä olen määrittänyt salasanattoman SSH-kirjautumisen paikallisen ja etäisäntäni välille, joten se ei ole kysynyt käyttäjän järjestelmänvalvojan salasanaa.

ssh [email   

Paikallinen SSH-portin edelleenlähetys

Tämän tyyppisen portin edelleenohjauksen avulla voit muodostaa yhteyden paikalliselta tietokoneeltasi etäpalvelimeen. Olettaen, että olet rajoittavan palomuurin takana tai lähtevä palomuuri estää sinua käyttämästä sovellusta, joka toimii etäpalvelimesi portissa 3000.

Voit lähettää edelleen paikallisen portin (esim. 8080), jonka avulla voit käyttää sovellusta paikallisesti seuraavasti. Lippu -L määrittää etäisäntään ja etäporttiin välitetyn portin.

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

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

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

-f-kytkin käskee ssh:n toimimaan taustalla.

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

Avaa nyt selain paikallisella koneellasi sen sijaan, että käyttäisit etäsovellusta osoitteella server1.example.com:3000, vaan voit käyttää localhost:8080- tai 192.168.43.31:8080 alla olevan kuvakaappauksen mukaisesti.

Etä SSH-portin edelleenlähetys

Etäportin edelleenohjauksen avulla voit muodostaa yhteyden etäkoneeltasi paikalliseen tietokoneeseen. Oletuksena SSH ei salli etäportin edelleenlähetystä. Voit ottaa tämän käyttöön käyttämällä GatewayPorts-direktiiviä etäisännän SSHD-päämääritystiedostossa /etc/ssh/sshd_config.

Avaa tiedosto muokkausta varten suosikkikomentorivieditorillasi.

sudo vim /etc/ssh/sshd_config 

Etsi vaadittu ohje, poista sen kommentti ja aseta sen arvoksi yes, kuten kuvakaappauksessa näkyy.

GatewayPorts yes

Tallenna muutokset ja poistu. Seuraavaksi sinun on käynnistettävä sshd uudelleen ottaaksesi käyttöön äskettäin tekemäsi muutoksen.

sudo systemctl restart sshd
OR
sudo service sshd restart 

Suorita seuraavaksi seuraava komento välittää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 helposti ja turvallisesti paljastaa paikallisen kehityspalvelimen, erityisesti NAT:ien 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 portin edelleenlähetystyyppi. Toisin kuin paikallinen ja etä-portin edelleenlähetys, joka mahdollistaa viestinnän yhden portin kanssa, se mahdollistaa täyden valikoiman TCP-viestintää useiden porttien välillä. Dynaaminen portin edelleenohjaus määrittää laitteesi oletuksena SOCKS-välityspalvelimeksi, joka kuuntelee porttia 1080.

Ensinnäkin SOCKS on Internet-protokolla, joka määrittää, kuinka 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, jonka avulla voit muodostaa yhteyden etäisäntään.

ssh -f -N -D 1080 [email 

Tästä eteenpäin 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äpalvelimeesi. Huomaa, että SOCKS-välityspalvelin lakkaa toimimasta, kun suljet SSH-istunnon.

Lue myös: 5 tapaa pitää SSH-etäistunnot käynnissä SSH:n sulkemisen jälkeen

Yhteenveto

Tässä artikkelissa selitimme erilaisia portin edelleenlähetystyyppejä koneelta toiselle liikenteen tunnelointiin suojatun SSH-yhteyden kautta. Tämä on yksi monista SSH:n käyttötavoista. Voit lisätä äänesi tähän oppaaseen alla olevan palautelomakkeen kautta.

Huomio: SSH-portin edelleenohjauksella on huomattavia haittoja, sitä voidaan käyttää väärin: sitä voidaan käyttää verkon valvonta- ja liikenteen suodatusohjelmien (tai palomuurien) ohittamiseen. Hyökkääjät voivat käyttää sitä haitallisiin toimiin. Seuraavassa artikkelissamme näytämme, kuinka SSH-paikallinen portin edelleenlähetys poistetaan käytöstä. Pysyä yhteydessä!