Android

Kuinka perustaa ssh-tunnelointi (satamansiirto)

Näin perustat yrityksen: Osakeyhtiön perustaminen

Näin perustat yrityksen: Osakeyhtiön perustaminen

Sisällysluettelo:

Anonim

SSH-tunnelointi tai SSH-portin edelleenlähetys on menetelmä salatun SSH-yhteyden luomiseksi asiakkaan ja palvelinkoneen välille, jonka kautta palveluportit voidaan välittää.

SSH-edelleenlähetys on hyödyllinen siirtäessä verkkotietoja palveluista, jotka käyttävät salaamatonta protokollaa, kuten VNC tai FTP, pääsyä maantieteellisesti rajoitetulle sisällölle tai ohittamalla välipalomuurit. Periaatteessa voit välittää mitä tahansa TCP-porttia ja tunnistaa liikenteen turvallisen SSH-yhteyden kautta.

SSH-porttien edelleenlähetyksiä on kolmen tyyppisiä:

  • Paikallinen satamahuolinta. - Välittää yhteyden asiakasisäntästä SSH-palvelimen isäntään ja sitten kohdeisäntäporttiin. - Välittää portin palvelinpalvelimesta asiakasisäntäkoneelle ja sitten kohdeisäntäportille.Dynaamisen portin välitys. - Luo SOCKS-välityspalvelimen, joka mahdollistaa tiedonsiirron useiden porttien välillä.

, puhumme kuinka paikalliset, etä- ja dynaamiset salatut SSH-tunnelit asetetaan.

Paikallinen satamahuolinta

Paikallisen portin edelleenlähetys antaa sinun välittää paikallisen (ssh-asiakaskoneen) portin etä (ssh-palvelin) -laitteen porttiin, joka sitten välitetään kohdekoneen porttiin.

Tämän tyyppisessä edelleenlähetyksessä SSH-asiakas kuuntelee tietyssä portissa ja tunneloi kaikki yhteydet kyseiseen porttiin etä-SSH-palvelimen määritettyyn porttiin, joka sitten muodostaa yhteyden kohdekoneen porttiin. Kohdekone voi olla etä SSH-palvelin tai mikä tahansa muu kone.

Paikallista portin edelleenlähettämistä käytetään enimmäkseen yhteyden muodostamiseen etäpalveluun sisäisessä verkossa, kuten tietokannassa tai VNC-palvelimessa.

Linux-, macOS- ja muissa Unix-järjestelmissä paikallisen portin edelleenlähetysten luomiseksi välitä -L asetus ssh asiakasohjelmaan:

ssh -L LOCAL_PORT:DESTINATION:DESTINATION_PORT SSH_SERVER

Käytetyt vaihtoehdot ovat seuraavat:

  • LOCAL_PORT - Paikallisen koneen IP- ja porttinumero. Kun LOCAL_IP jätetään pois, ssh-asiakas sitoutuu localhostiin. DESTINATION:DESTINATION_PORT - DESTINATION:DESTINATION_PORT IP tai isäntänimi ja portti. SERVER_IP - SSH: n etäkäyttäjän ja palvelimen IP-osoite.

Voit käyttää mitä tahansa portin numeroa, joka on suurempi kuin 1024 , LOCAL_PORT . Alle 1024 porttien lukumäärä on etuoikeutettu portti, ja niitä voi käyttää vain pääkäyttäjä. Jos SSH-palvelimesi kuuntelee muuta kuin 22 (oletus) porttia, käytä -p vaihtoehtoa.

Kohteen isäntänimen on oltava selvitettävissä SSH-palvelimelta.

Oletetaan, että sinulla on MySQL-tietokantapalvelin, joka toimii koneella db001.host sisäisessä (yksityisessä) verkossa, portissa 3306, johon pääsee koneesta pub001.host ja jonka haluat muodostaa yhteyden paikallisen koneen mysql asiakasohjelman avulla tietokantapalvelimeen. Voit siirtää yhteyden edelleen seuraavasti:

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

Kun olet suorittanut komennon, sinua pyydetään antamaan etä SSH-käyttäjän salasana. Kun olet kirjoittanut sen, kirjaudut sisään etäpalvelimeen ja SSH-tunneli luodaan. On hyvä idea perustaa SSH-avainpohjainen todennus ja muodostaa yhteys palvelimeen antamatta salasanaa.

Nyt jos osoitat paikallisen koneen tietokantaohjelman db001.host:3306 127.0.0.1:3336 , yhteys välitetään db001.host:3306 MySQL-palvelimelle pub001.host koneen kautta, joka toimii välipalvelimena.

Voit välittää useita portteja useille kohteille yhdessä ssh-komennossa. Esimerkiksi, sinulla on toinen MySQL-tietokantapalvelin käynnissä koneella db002.host ja haluat muodostaa yhteyden molempiin palvelimiin käyttämäsi paikallisen asiakkaan palvelimesta:

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

127.0.0.1:3337 toiseen palvelimeen voit käyttää 127.0.0.1:3337 .

Kun kohdeisäntä on sama kuin SSH-palvelin, määränpään isäntä-IP: n tai isäntänimen määrittämisen sijasta, voit käyttää localhost .

Oletetaan, että sinun on muodostettava yhteys etäkoneeseen VNC: n kautta, joka toimii samalla palvelimella ja johon ei ole pääsyä ulkopuolelta. Käytämäsi komento on:

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

-f asetus käskee ssh komennon ajaa taustalla ja -N olematta suorittavan etäkomentoa. Käytämme localhost koska VNC ja SSH-palvelin käyttävät samaa isäntää.

Etäportin edelleenlähetys

Etäsataman huolinta on päinvastainen kuin paikallisen sataman edelleenlähetys. Sen avulla voit välittää etä- (ssh-palvelin) -laitteen portin paikallisen (ssh-asiakaskoneen) porttiin, joka sitten välitetään kohdekoneen porttiin.

Tämän tyyppisessä edelleenlähetyksessä SSH-palvelin kuuntelee tietyssä portissa ja tunneloi kaikki yhteydet kyseiseen porttiin paikallisen SSH-asiakkaan määritettyyn porttiin, joka sitten muodostaa yhteyden kohdekoneen porttiin. Kohdekone voi olla paikallinen tai mikä tahansa muu kone.

Linuxissa, macOS: ssä ja muissa Unix-järjestelmissä etäportin edelleenlähetysten luomiseksi välitä -R vaihtoehto ssh asiakkaalle:

ssh -R REMOTE_PORT:DESTINATION:DESTINATION_PORT SSH_SERVER

Käytetyt vaihtoehdot ovat seuraavat:

  • REMOTE_PORT - SSH-etäpalvelimen IP- ja porttinumero. Tyhjä REMOTE tarkoittaa, että etä SSH-palvelin sitoutuu kaikkiin rajapintoihin. DESTINATION:DESTINATION_PORT - DESTINATION:DESTINATION_PORT IP tai isäntänimi ja portti. SERVER_IP - SSH: n etäkäyttäjän ja palvelimen IP-osoite.

Paikallista satamansiirtoa käytetään enimmäkseen pääsyyn sisäiseen palveluun jollekin ulkopuolelta.

Oletetaan, että olet kehittämässä verkkosovellusta paikallisella koneellasi ja haluat näyttää esikatselun muulle kehittäjällesi. Sinulla ei ole julkista IP-osoitetta, joten toinen kehittäjä ei voi käyttää sovellusta Internetin kautta.

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

Yllä oleva komento saa ssh-palvelimen kuuntelemaan porttia 8080 ja tunnistamaan kaiken tämän portin liikenteen paikalliselle koneellesi portissa 3000 .

Nyt kehittäjäsi voi kirjoittaa_ssh_server_ip the_ssh_server_ip:8080 selaimeen ja esikatsella mahtavaa sovellustasi.

Dynaaminen portin edelleenlähetys

Dynaamisen portin edelleenlähetyksen avulla voit luoda pistorasian paikalliselle (ssh-asiakaskoneelle), joka toimii SOCKS-välityspalvelimena. Kun asiakas muodostaa yhteyden tähän porttiin, yhteys välitetään edelleen etä (ssh-palvelin) -laitteelle, joka sitten välitetään kohdekoneen dynaamiseen porttiin.

Tällä tavalla kaikki SOCKS-välityspalvelinta käyttävät sovellukset muodostavat yhteyden SSH-palvelimeen ja palvelin välittää kaiken liikenteen todelliseen määränpäähänsä.

Linuxissa, macOS ja muut Unix-järjestelmät dynaamisen portin edelleenlähetyksen (SOCKS) luomiseksi välittävät -D vaihtoehdon ssh asiakkaalle:

ssh -D LOCAL_PORT SSH_SERVER

Käytetyt vaihtoehdot ovat seuraavat:

  • LOCAL_PORT - Paikallisen koneen IP- ja porttinumero. Kun LOCAL_IP jätetään pois, ssh-asiakas sitoutuu localhostiin. SERVER_IP - SSH: n etäkäyttäjän ja palvelimen IP-osoite.

Tyypillinen esimerkki dynaamisesta portin edelleenlähetyksestä on Web-selaimen liikenteen tunnelointi SSH-palvelimen kautta.

Seuraava komento luo SOCKS-tunnelin porttiin 9090 :

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

Kun tunnelointi on luotu, voit määrittää sovelluksesi käyttämään sitä. Tässä artikkelissa selitetään, kuinka Firefox ja Google Chrome -selain määritetään käyttämään SOCKS-välityspalvelinta.

Portin edelleenlähetys on määritettävä erikseen jokaiselle sovellukselle, jonka haluat tunnistaa liikenne ajatteli sitä.

Asenna SSH-tunnelointi Windowsissa

Windows-käyttäjät voivat luoda SSH-tunneleita PuTTY SSH -sovelluksen avulla. Voit ladata PuTTY: n täältä.

  1. Käynnistä Putty ja kirjoita SSH-palvelimen IP-osoite Host name (or IP address) -kenttään.

    Näkyviin tulee uusi ikkuna, jossa kysytään käyttäjänimeäsi ja salasanaasi. Kun olet antanut käyttäjänimesi ja salasanasi, kirjaudut sisään palvelimellesi ja SSH-tunneli käynnistyy.

    Julkisen avaimen todennuksen määrittäminen antaa sinun muodostaa yhteyden palvelimeesi antamatta salasanaa.

johtopäätös

Olemme osoittaneet, miten pystyt määrittämään SSH-tunnelit ja siirtämään liikenteen turvallisen SSH-yhteyden kautta. Käytön helpottamiseksi voit määrittää SSH-tunnelin SSH-määritystiedostosi tai luoda Bash-alias, joka asettaa SSH-tunnelin.

SSH turvallisuus