If-Koubou

SSH tunneloinnin käyttäminen rajoitettujen palvelimien käyttämiseen ja selata turvallisesti

SSH tunneloinnin käyttäminen rajoitettujen palvelimien käyttämiseen ja selata turvallisesti (Miten)

SSH-asiakas muodostaa yhteyden Secure Shell -palvelimeen, jonka avulla voit käyttää päätelaitteita kuten jos istut toisen tietokoneen eteen. Mutta SSH-asiakas sallii myös "tunneli" portin paikallisen järjestelmän ja etäisen SSH-palvelimen välillä.

SSH-tunnelointia on kolme erilaista, ja niitä käytetään kaikkiin eri tarkoituksiin. Jokainen edellyttää SSH-palvelimen käyttämistä liikenteen uudelleenohjaamiseksi yhdestä verkkoportista toiseen. Liikenne lähetetään salatun SSH-yhteyden kautta, joten sitä ei voi seurata tai muuttaa liikenteessä.

Voit tehdä tämän ssh komento sisältyy Linux-, macOS- ja muihin UNIX-tyyppisiin käyttöjärjestelmiin. Windowsissa, jossa ei ole sisäänrakennettua ssh-komentoa, suosittelemme vapaata PuTTY-työkalua yhteyden muodostamiseen SSH-palvelimiin. Se tukee myös SSH tunnelointia.

Paikallinen porttisiirto: Tee etäresurssit paikalliseen järjestelmään

Paikallisen satamanlähetyksen avulla voit käyttää paikallisia verkkoresursseja, jotka eivät ole alttiina Internetille. Oletetaan esimerkiksi, että haluat käyttää tietokantapalvelinta toimistossa kotonasi. Tietoturvasyistä tietoturvapalvelin on määritetty vain hyväksymään yhteydet paikallisverkkoverkosta. Mutta jos sinulla on pääsy SSH-palvelimeen toimistossa ja SSH-palvelin sallii yhteydet toimistoverkon ulkopuolelta, voit muodostaa yhteyden kyseiseen SSH-palvelimeen kotoa ja käyttää tietokantapalvelinta ikään kuin toimistossa. Näin on usein, sillä yhdellä SSH-palvelimella on helpompi suojata hyökkäyksiä kuin turvaamaan erilaisia ​​verkkoresursseja.

Voit tehdä tämän muodostamalla SSH-yhteyden SSH-palvelimeen ja ilmoittamalla asiakkaalle siirtää tietyn portin paikalliselta tietokoneelta - esimerkiksi portti 1234 - tietokannan palvelimen osoitteeseen ja sen toimipisteverkoston porttiin. Joten, kun yrität käyttää tietokantapalvelinta portissa 1234, nykyinen tietokoneesi "localhost", tämä liikenne tunnistetaan automaattisesti SSH-yhteyden kautta ja lähetetään tietokantapalvelimelle. SSH-palvelin on keskellä, joka välittää liikennettä edestakaisin. Voit käyttää mitä tahansa komentoriviä tai graafista työkalua tietokantapalvelimen käyttämiseen ikään kuin se olisi käynnissä paikallisessa tietokoneessa.

Jos haluat käyttää paikallislähetystä, muodosta yhteys SSH-palvelimeen normaalisti, mutta lähetä se myös L Perustelu. Syntaksi on:

ssh -L local_port: remote_address: remote_port käyttäjä[email protected]

Oletetaan esimerkiksi, että toimistosi tietokantapalvelin sijaitsee toimistoverkossa 192.168.1.111. Pääset toimiston SSH-palvelimeen osoitteessa ssh.youroffice.com , ja SSH-palvelimesi käyttäjätili on Bob . Tällöin komento näyttää tältä:

ssh-L 8888: 192.168.1.111: 1234 [email protected]

Tämän komennon suorittamisen jälkeen voit käyttää tietokantapalvelinta portissa 8888 osoitteessa localhost. Joten, jos tietokantapalvelin tarjosi verkkoyhteyttä, voit käyttää http: // localhost: 8888 -ohjelmaa selaimeen päästäksesi siihen. Jos sinulla oli komentorivityökalu, joka tarvitsee tietokannan verkkoosoitteen, osoitat sen osoitteessa localhost: 8888. Kaikki tietokoneesi porttiin 8888 lähetetty liikenne tunneloituu 192.168.1.111:1234 toimistoverkkoon.

Se on hieman hämmentävää, jos haluat muodostaa yhteyden palvelinohjelmaan, joka toimii samalla järjestelmällä kuin itse SSH-palvelin. Oletetaan esimerkiksi, että sinulla on SSH-palvelin, joka toimii toimisto-tietokoneesi portissa 22, mutta sinulla on myös samassa järjestelmässä samassa osoitteessa portilla 1234 oleva tietokantapalvelin. Haluat käyttää tietokantapalvelinta kotoa, mutta järjestelmä hyväksyy vain SSH-yhteydet portilla 22 ja sen palomuuri ei salli muita ulkoisia yhteyksiä.

Tässä tapauksessa voit suorittaa seuraavan komennon:

ssh -L 8888: localhost: 1234 [email protected]

Kun yrität käyttää tietokantapalvelinta nykyisessä tietokoneessa portissa 8888, liikenne lähetetään SSH-yhteyden kautta. Kun se saapuu SSH-palvelimen suorittamiseen, SSH-palvelin lähettää sen porttiin 1234 "localhost" -palvelimella, joka on sama tietokone, joka suorittaa itse SSH-palvelimen. Joten yllä olevassa komennossa "localhost" tarkoitetaan "localhost" etäpalvelimen näkökulmasta.

Voit tehdä tämän PuTTY-sovelluksessa Windowsissa valitsemalla Yhteys> SSH> Tunnelit. Valitse "Paikallinen" -vaihtoehto. Syötä "Lähdeportti" paikallinen portti.Kirjoita "Destination" -kohdassa kohdeosoite ja -osoite muotoon remote_address: remote_port.

Jos esimerkiksi haluat luoda saman SSH-tunnelin kuin edellä, kirjoita 8888 kuten lähdesatama ja localhost: 1234 kuten määränpää. Napsauta "Lisää" myöhemmin ja napsauta sitten "Avaa" avataksesi SSH-yhteyden. Sinun on myös annettava SSH-palvelimen osoite ja portti tärkeimmän "istunnon" näytöllä ennen tietenkin liittymistä.

Etäportin edelleenlähetys: Tee paikallisista resursseista pääsy etäjärjestelmään

"Etäportin edelleenlähetys" on paikallislähetyksen vastakohta, eikä sitä käytetä yhtä usein. Sen avulla voit luoda resurssin paikalliselle PC: lle SSH-palvelimelle. Oletetaan esimerkiksi, että käytät verkkopalvelinta paikallisessa tietokoneessa, jonka edessä istut. Mutta tietokoneesi on takana palomuuri, joka ei salli tulevaa liikennettä palvelinohjelmistoon.

Olettaen, että et voi käyttää etäistä SSH-palvelinta, voit muodostaa yhteyden kyseiseen SSH-palvelimeen ja käyttää etäportin edelleenlähetystä. SSH-asiakas ilmoittaa palvelimelle SSH-palvelimen tietyn portti-sanoman, portin 1234 välittämisen nykyisen tietokoneen tai paikallisen verkon tietylle osoitteelle ja portille. Kun joku käsittelee porttia 1234 SSH-palvelimella, liikenne automaattisesti tunnistetaan SSH-yhteyden kautta. Jokainen, jolla on pääsy SSH-palvelimeen, voi käyttää tietokoneessa käynnissä olevaa WWW-palvelinta. Tämä on tosiasiallinen tapa tunneloida palomuurien kautta.

Jos haluat käyttää etäsiirtoa, käytä ssh komento R Perustelu. Syntaksi on pitkälti sama kuin paikallinen edelleenlähetys:

ssh -R etä_port: local_address: local_port [email protected]

Oletetaan, että haluat palvelinohjelman kuunnella paikallisessa PC: n portissa 1234, joka on saatavilla kauko-SSH-palvelimen portissa 8888. SSH-palvelimen osoite on ssh.youroffice.com ja käyttäjätunnuksesi SSH-palvelimella on Bob. Sinun olisi suoritettava seuraava komento:

ssh -R 8888: localhost: 1234 [email protected]

Joku voisi sitten muodostaa yhteyden SSH-palvelimeen porttiin 8888 ja tämä yhteys tunneltiin palvelimelle, joka toimi portissa 1234 paikallisessa tietokoneessa, johon olet muodostanut yhteyden.

Voit tehdä tämän PuTTY-ohjelmassa Windowsissa valitsemalla Yhteys> SSH> Tunnelit. Valitse "Etäasetus". Syötä "Lähdeportti" etäportti. Määritä "Kohde" -toiminnolla kohdeosoite ja -portti muodossa local_address: local_port.

Jos esimerkiksi haluat asettaa yllä olevan esimerkin, annat sen 8888 kuten lähdesatama ja localhost: 1234 kuten määränpää. Napsauta "Lisää" myöhemmin ja napsauta sitten "Avaa" avataksesi SSH-yhteyden. Sinun on myös annettava SSH-palvelimen osoite ja portti tärkeimmän "istunnon" näytöllä ennen tietenkin liittymistä.

Ihmiset voisivat sitten muodostaa yhteyden satamaan 8888 SSH-palvelimella ja niiden liikenne tunneltiin paikalliseen järjestelmään porttiin 1234.

Oletuksena SSH-palvelin kuuntelee vain yhteyksiä samasta isännästä. Toisin sanoen vain ihmiset samassa järjestelmässä kuin SSH-palvelin pystyvät muodostamaan yhteyden. Tämä on turvallisuussyistä. Sinun on otettava käyttöön sshd_configin "GatewayPorts" -vaihtoehto etäpalvelimella SSH, jos haluat ohittaa tämän käyttäytymisen.

Dynamic Port Forwarding: Käytä SSH-palvelinta välityspalveluna

Siellä on myös "dynaaminen satamanlähetys", joka toimii samalla tavoin kuin välityspalvelimen tai VPN: n. SSH-asiakas luo SOCKS-välityspalvelimen, jonka avulla voit määrittää sovelluksia. Kaikki välityspalvelimen kautta lähetetty liikenne lähetettiin SSH-palvelimen kautta. Tämä on samanlainen kuin paikallinen edelleenlähetys: se vie paikallisen liikenteen tietokoneesi tiettyyn porttiin ja lähettää sen SSH-yhteyden kautta etäpaikalle.

Oletetaan esimerkiksi, että käytät julkista Wi-Fi-verkkoa. Haluat selata turvallisesti ilman, että häntä tönäisi. Jos sinulla on mahdollisuus käyttää SSH-palvelinta kotona, voit muodostaa yhteyden siihen ja käyttää dynaamista portin edelleenlähetystä. SSH-asiakas luo SOCKS-välityspalvelimen tietokoneellesi. Kaikkien kyseisen välityspalvelimen lähetetty liikenne lähetetään SSH-palvelinyhteyden kautta. Kukaan ei seuraa julkista Wi-Fi-verkkoa, se voi seurata selaamistaan ​​tai sensuroida verkkosivustot, joihin pääset. Jokainen verkkosivusto, jonka vierailet, on kuin olisit istumassa tietokoneen edessä kotona.Tämä tarkoittaa myös sitä, että voit käyttää tätä temppua pääsemään vain Yhdysvaltain sivustoihin Yhdysvaltojen ulkopuolelle - olettaen, että sinulla on tietysti pääsy SSH-palvelimeen Yhdysvalloissa.

Toisena esimerkkinä saatat haluta käyttää mediasovellusohjelmaa, jota sinulla on kotiverkossa. Turvallisuussyistä SSH-palvelin voi olla vain Internetissä altistunut. Et anna tulevia yhteyksiä Internetistä mediapalvelinohjelmaan. Voit määrittää dynaamisen portin edelleenlähetyksen, määrittää verkkoselaimen SOCKS-välityspalvelimen käyttämiseksi ja käyttää sitten kotiverkossasi käynnissä olevia palvelimia selaimella, jos istuisit SSH-järjestelmän edessä kotona. Jos esimerkiksi mediapalvelimesi sijaitsee kotiverkon portissa 192.168.1.123, voit liittää osoitteen 192.168.1.123 hakemistoon SOCKS-välityspalvelimella ja pääset mediapalvelimeen kuin kotiverkostasi.

Jos haluat käyttää dynaamista välityspalvelua, suorita ssh-komento -D argumentti, kuten:

ssh -D local_port [email protected]

Oletetaan esimerkiksi, että sinulla on pääsy SSH-palvelimeen osoitteessa ssh.yourhome.com ja käyttäjätunnuksesi SSH-palvelimella on Bob . Haluat käyttää dynaamista edelleenlähetystä avataksesi SOCKS-välityspalvelimen nykyisessä tietokoneessa portissa 8888. Sinun olisi suoritettava seuraava komento:

ssh -D 8888 [email protected]

Sitten voit määrittää WWW-selaimen tai muun sovelluksen käyttämään paikallista IP-osoitetta (127.0.01) ja porttia 8888. Kaikkien kyseisen sovelluksen liikenne ohjataan tunnelin kautta.

Voit tehdä tämän PuTTY-ohjelmassa Windowsissa valitsemalla Yhteys> SSH> Tunnelit. Valitse "Dynaaminen" -vaihtoehto. Syötä "Lähdeportti" paikallinen portti.

Jos esimerkiksi haluat luoda SOCKS-välityspalvelimen porttiin 8888, annat sen 8888 kuten lähdesatama. Napsauta "Lisää" myöhemmin ja napsauta sitten "Avaa" avataksesi SSH-yhteyden. Sinun on myös annettava SSH-palvelimen osoite ja portti tärkeimmän "istunnon" näytöllä ennen tietenkin liittymistä.

Tämän jälkeen voit määrittää sovelluksen päästäksesi paikalliseen PC: ään (eli IP-osoitteeseen 127.0.0.1, joka viittaa paikalliseen tietokoneeseesi) SOCKS-välityspalvelimeen ja määrittele oikea portti.

Voit esimerkiksi määrittää Firefoxin käyttämään SOCKS-välityspalvelinta. Tämä on erityisen hyödyllinen, koska Firefoxilla voi olla omat välityspalvelimen asetukset, eikä sen tarvitse käyttää koko järjestelmän proxy-asetuksia. Firefox lähettää sen liikennettä SSH-tunnelin kautta, kun taas muut sovellukset käyttävät Internet-yhteyttä normaalisti.

Kun teet tämän Firefoxissa, valitse "Manual proxy configuration", syötä "127.0.0.1" SOCKS-isäntäkenttään ja syötä dynaaminen portti Portti-ruutuun. Jätä HTTP-välityspalvelimen, SSL-välityspalvelimen ja FTP-välityspalvelimen laatikot tyhjäksi.

Tunneli pysyy aktiivisena ja avaa niin kauan kuin SSH-istuntoyhteys on auki. Kun lopetat SSH-istunnon ja irrotat palvelimesta, tunneli suljetaan myös. Varmista vain, että kytke uudelleen sopiva komento (tai sopivat vaihtoehdot PuTTY: ssa) uudelleen tunnelin avaamiseksi.