Paano lumikha ng isang SSH tunnel sa pagitan ng isang Linux server at isang Windows client

Ang ideya ng pagbuo ng isang SSH lagusan ay i-encrypt ang lahat ng mga koneksyon (hindi alintana, halimbawa, kung pupunta ka sa isang pahina ng https o http) at kumonekta sa internet sa pamamagitan ng a ligtas na channel. Ang "ligtas" na channel na ito ay hindi hihigit sa a server naka-configure para sa hangaring ito. Ang server na ito ay maaaring, halimbawa, sa iyong bahay.


Ang "kawalan" ng pamamaraang ito ay palaging kailangang buksan at mai-configure nang tama ang makina na ito upang gumana bilang isang SSH server, ngunit pinapayagan kang lubos na mapabuti ang seguridad ng iyong koneksyon at iwasan din ang mga paghihigpit na koneksyon na ipinataw ng mga administrator ng network (halimbawa, iyong trabaho).

Naririnig kong nagtanong ka: makakatulong ba talaga ito sa akin? Kaya, ipagpalagay natin ang sumusunod na senaryo: ikaw ay nasa isang internet cafe o restawran na may libreng Wi-Fi at kailangan mong gumawa ng isang bank transfer o iba pang mahalagang operasyon. Siyempre, palaging inirerekumenda na isagawa ang mga ganitong uri ng mga transaksyon sa isang ligtas na kapaligiran. Gayunpaman, mayroong isang solusyon: isang SSH tunnel. Sa ganitong paraan, maaari kaming kumonekta sa Internet sa pamamagitan ng aming "secure" na server.

Kapaki-pakinabang din ang pamamaraang ito para maiwasan ang mga paghihigpit na ipinataw sa mga koneksyon sa maraming mga kapaligiran sa trabaho. Hindi ma-access ang YouTube mula sa trabaho? Sa gayon, ang isang SSH tunnel ay maaaring maging solusyon, dahil ang lahat ng mga kahilingan ay gagawin sa pamamagitan ng iyong "secure" na server. Sa madaling salita, dahil hindi naka-block ang IP ng iyong secure na server (oo, sa kabilang banda, ng YouTube), maaari mong "iwasan" ang paghihigpit na ito (hindi ma-access ang YouTube) dahil para sa administrator ng iyong kumpanya network ang iyong machine ay nakikipag-chat lamang sa iyong "secure" na server at walang ideya na sa pamamagitan nito ay talagang nagba-browse ka ng maraming mga pahina.

Sa tutorial na ito ipapaliwanag namin ang "tipikal" na kaso: Linux server, Windows client.

I-configure ang Linux server

1. I-install ang SSH server. Upang magawa ito, nagbukas ako ng isang terminal at tumakbo:

En Ubuntu:

sudo apt-get install openssh-server

En Arko:

pacman -S opensh

En Fedora:

yum -y install ako ng openssh-server

Handa na Magagawa mong i-access ang Ubuntu (SSH server) sa isang SSH client.

2. Kapag na-install na, kapaki-pakinabang upang suriin ang file ng pagsasaayos:

sudo nano / etc / ssh / sshd_config

Mula sa file na ito magagawa mong i-configure ang iyong SSH server nang madali. Ang aking rekomendasyon ay baguhin lamang ang 2 mga parameter: port at mga nagpapahintulot.

Upang maiwasan ang mga posibleng pag-atake ipinapayong baguhin ang port na gagamitin ng SSH. Bilang default dumating ito sa halagang 22, maaari kang pumili ng isa pa na nababagay sa iyo (para sa mga layunin ng tutorial na ito na pinili namin ng 443 ngunit maaari itong maging iba pa).

Pinapayagan ka ng parameter ng Allowusers na paghigpitan ang pag-access ng gumagamit at, opsyonal, ang host na kung saan maaari kang kumonekta. Pinaghihigpitan ng sumusunod na halimbawa ang pag-access sa server ng SSH upang ang mga gumagamit lamang ng ganito ang makakagawa nito mula sa mga host na 10.1.1.1 at 10.2.2.1.

AllowUsers so and so@10.1.1.1 mengano@10.1.1.1 so and so@10.2.2.1 mengano@10.2.2.1

I-configure ang router

Sa kaganapan na ang iyong server ay nasa likod ng isang router, kinakailangan upang mai-configure ang huli upang hindi ito harangan ang mga papasok na koneksyon. Mas partikular, kailangan mong i-configure.

Bago maabot ang punto at ipakita ang kinakailangang pagsasaayos, tila masinop na ipaliwanag nang kaunti kung ano ang binubuo ng port-forwarding.

Ipagpalagay na mayroon kang isang lokal na network ng 3 machine, lahat ng mga ito sa likod ng isang router. Paano ang isang papasok na koneksyon (mula sa SSH, tulad ng mangyari sa amin) upang makipag-usap sa machine 1 sa aming lokal na network? Huwag kalimutan na "mula sa labas" ang 3 machine, bagaman mayroon silang mga lokal na IP, magbahagi ng isang solong pampublikong IP kung saan kumonekta sila sa Internet.

Ang solusyon sa nabanggit na problema ay ang port-forwarding. Sa ganitong paraan, kapag natanggap ang mga papasok na koneksyon sa port X ng aming pampublikong IP, isasangguni ito ng router sa kaukulang makina. Sa ganitong paraan, tuwing kumokonekta kami sa port na iyon, alam namin na ang router ay magre-redirect sa amin (samakatuwid port-forwarding) sa kaukulang makina. Ang lahat ng ito, malinaw naman, kailangan mong i-configure ito sa router.

Ang pagsasaayos ng port-forwarding ay medyo nag-iiba ayon sa router na iyong ginagamit. Ang pinaka praktikal ay ang pagbisita portforward.com, piliin ang modelo ng router na iyong ginagamit at sundin ang mga hakbang na inilarawan doon.

I-configure ang Windows client

Upang kumonekta mula sa Windows, praktikal na gamitin ang tool na PuTTY bilang isang SSH client.

1. Ang unang hakbang ay upang i-download ang PuTTY

Tulad ng nakikita mo sa pahina ng pag-download ng PuTTY, maraming magagamit na mga bersyon. Inirerekumenda ko ang pag-download ng portable na bersyon ng programa: putty.exe. Ang bentahe ng pagpili ng portable na bersyon ay maaari mong palaging dalhin ito sa iyo sa isang pendrive at patakbuhin ang programa mula sa anumang computer, nasaan ka man.

2. Buksan ang PuTTY at tukuyin ang IP (publiko) at port ng server kung saan dapat kumonekta ang SSH client. Paano malalaman ang pampublikong IP ng iyong server? Madali, i-google mo lang "ano ang aking ip publiko" upang makahanap ng libu-libong mga pahina na nag-aalok ng serbisyong ito.

3. Kung sakaling ang "client" ay nasa likod ng isang proxy, huwag kalimutang i-configure ito nang tama. Kung sakaling hindi ka sigurado kung anong data ang ipasok, buksan ang Internet Explorer at pumunta sa Mga Tool> Mga Koneksyon> Mga Setting ng LAN> Advanced. Kopyahin at i-paste ang data na lilitaw doon sa PuTTY, tulad ng nakikita sa imahe sa ibaba. Sa ilang mga kaso, maaaring kailanganin mong maglagay ng isang username at password.

4. Kailangan mong ipasok ang data para sa "lokal" na port-forwarding upang maitayo ang SSH tunnel. Pumunta sa Koneksyon> SSH> Mga Tunnels. Narito ang ideya ay ang sumusunod, kailangan naming sabihin sa PuTTY kung aling mga koneksyon ang "ilihis" sa aming ligtas na server. Upang magawa ito, dapat pumili ng isang port.

Ang aking rekomendasyon, lalo na kung ang makina ay nasa likod ng isang proxy, ay pipiliin mo ang port 443 dahil ito ang ginamit ng SSL upang makagawa ng mga ligtas na koneksyon, na hahihirapan sa administrator na matuklasan kung ano ang iyong ginagawa. Sa kabilang banda, ang port 8080 ay ang ginamit ng HTTP (na hindi isang "ligtas" na koneksyon) kaya ang isang bihasang administrator ng network ay maaaring maging kahina-hinala at maaaring na-block ang port para sa iba pang mga uri ng koneksyon.

Sa Patutunguhan, muling ipasok ang IP ng ligtas na server, na sinusundan ng isang colon at ang port na binuksan mo sa tuldok na may pamagat na "I-configure ang router" at sa ~ / .ssh / config file. Halimbawa, 192.243.231.553:443.

Piliin ang Dynamic (na lilikha ng isang koneksyon sa SOCKS, na gagamitin namin sa susunod na punto) at i-click ang Idagdag.

5. Bumalik ako sa pangunahing screen ng PuTTY, na-click ang I-save at pagkatapos ay Buksan. Sa unang pagkakataong kumonekta ka sa server, lilitaw ang isang mensahe ng alerto tulad ng nasa ibaba:

6. Pagkatapos, hihilingin nito ang username at password na may access sa server.

Kung naging maayos ang lahat, kapag tapos na ang pag-login, dapat mong makita ang isang bagay tulad ng nakikita mo sa ibaba ...

7.- Panghuli, nang hindi isinasara ang PuTTY, buksan at i-configure ang Firefox (o ang iyong paboritong browser) upang kumonekta sa Internet sa pamamagitan ng PuTTY.


Ang nilalaman ng artikulo ay sumusunod sa aming mga prinsipyo ng etika ng editoryal. Upang mag-ulat ng isang pag-click sa error dito.

12 na puna, iwan mo na ang iyo

Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: Miguel Ángel Gatón
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.

  1.   Jose daniel rodriguez dijo

    isang katanungan sa hakbang 6 aling username at password ang dapat kong ilagay

  2.   jose dijo

    mahusay, susubukan kong i-configure ito sa aking bahay

  3.   Al dijo

    upang ma-access ang internet mula sa aking tahanan:
    dial-up na koneksyon ng 56k modem,
    Nagpapatakbo ako ng isang .bat file na mayroong pagsasaayos na ito:
    @Echo Off
    C:
    Cd C: \ Windows
    masilya -N -C -D 1080 -P 443 -ssh user@00.00.000.000 -pw pumasa
    lumabas
    at kung ano ang nauugnay sa masilya na naka-configure dito
    form: sa mga pagpipilian na pagkontrol sa paggamit ng proxy inilalagay ko ito sa http, sa proxy
    hostname inilagay ko ang aking proxy at port 3128 at username at password
    Inilagay ko ang aking data na iniiwan ang lahat na hindi nagalaw at nai-save ito
    pagsasaayos sa unang pagkakataon bilang mga default na setting
    at upang magamit ang mozilla, yahoo messenger, atbp, kailangan kong magpakatotoo
    ang mga application na may bersyon ng proxifier 3 ay naka-configure sa ganitong paraan:
    sa proxy server na may address na 127.0.0.1 port 1080 sock bersyon 5,
    sa mga patakaran sa proxification idaragdag ko ang masilya application at sa mga aksyon na inilalagay ko
    direkta, upang ang lahat ng mga programa ay lumabas sa pamamagitan nito.
    Kailangan kong malaman kung paano ko makakamtan ito sa aking android phone na
    Kumonekta ako sa aking pc sa pamamagitan ng pagkonekta at ibinabahagi nito ang aking koneksyon mula sa
    pag-access sa telepono. Kailangan ko ng tutorial at mga apks upang malutas ito para sa akin
    dilemma Pagbati at salamat nang maaga

  4.   Clint Eastwood dijo

    Kinakailangan na ipaliwanag kung paano magically dadalo ang SSH server sa mga kahilingan sa HTTP na ginagawa ng kliyente ... mahina ang tutorial ...

    1.    Errol Flynn dijo

      Maling Clint Eastwood.

      Sa kung ano ang ipinaliwanag sa tutorial, "mahiwagang", gumagana ito!

      Hindi man mahina, sa halip sasabihin kong patas at kongkreto.

      Napakahusay na ipinaliwanag para sa mga walang karanasan.

      Regards

      1.    gumamit tayo ng linux dijo

        Gaano kahusay na ito ay nagsilbi sa iyo! Isang yakap! Paul

  5.   DumasLinux dijo

    Ito ay gumagana nang mahusay.

    Tulad ng sa ibaba, SSH tunnel na may WinSCP:

    http://www.sysadmit.com/2014/05/linux-tuneles-ssh-con-winscp.html

  6.   JEAMPIERRE ZAMBRANO-CUEVA dijo

    mahusay na napakahusay na ipinaliwanag 5 * salamat

  7.   Rodrigo dijo

    Isang tanong…
    Paano kung ang nais ko ay isang lagusan sa pagitan ng dalawang mga makina ng Linux? Mayroon akong sumusunod na sitwasyon: Sa aking trabaho nakikipag-usap kami sa isang pc, nais naming subukan ang isang software ng kumperensya sa video, kaya kailangan naming mag-install ng isang server sa isang avandonado pc. Ang problema ay kapag nag-install ng software (bigbluebutton) nabigo ang pag-install ... Natuklasan namin na ang problema ay ang pag-download ng isang bahagi ng pag-install ay hinaharangan (Hindi ako isang computer scientist, ako ay isang guro sa patuloy na pag-aaral ) ...
    Tulad ng mahusay ng Kumpanya, ang mga posibilidad na matulungan kami mula sa mga network ay mas mababa kaysa sa ...
    Kaya, iniisip ko ang pagkonekta sa server (ubuntu server) sa pamamagitan ng isang ssh tunnel sa aking home pc (na may ubuntu) at pagkatapos ay i-install ang software ...
    Posible? Tinutulungan nila ako?

  8.   Suan dijo

    Kumusta, mayroon akong isang query, nais kong kumonekta sa isang application na mayroon ako sa aking Debian server na nasa isang virtual machine, na na-mount ko sa Windows at nais kong i-access ang application na iyon mula sa isa pang network, may gumagabay sa akin. .

  9.   anony dijo

    Paano Mag-install at Mag-configure ng isang SSH Server
    https://www.youtube.com/watch?v=iY536vDtNdQ

  10.   Tosko dijo

    Kumusta, mayroon akong isang katanungan na nakakainis sa akin ng marami at napagpasyahan kong pumunta upang kumunsulta sa komunidad .. mabuti narito ako, upang makita kung maaari mo akong matulungan .. "bago" ako sa mundo ng virtualization, linux.

    Ang kaso ay ang sumusunod na na-install ko ang isang virtual machine na may linux server 14.04.5 LTS, na-configure ko ang network sa Vbox bilang isang "bridge adapter" sa pamamagitan ng pagpili ng aking adapter sa network. Kapag nasa loob ng aking server, na-install ko ang maraming mga bagay, iyon ay, mayroon akong access sa internet .. kasama sa mga bagay na na-install ko ang serbisyo ng SSH, na iniiwan ang port 22 bilang default at ang serbisyo ng ftp na "vsftpd".

    Kapag kumunsulta sa utos «ifconfig» sinasagot ako nito:
    Pag-encap ng link: Ethernet address HW 08: 00: 27: d5: 2c: 88
    Tirahan inet: 192.168.0.13 Diffus.:192.168.0.255 Masc: 255.255.255.0
    ......

    Ngayon, upang kumonekta mula sa aking computer (Windows 10) kasama ang Putty sa aking virtual server gamit ang ssh (port 22) Ginagamit ko ang ip "192.168.0.13", at pareho sa FTP, ngunit kung nais ko ang isang kaibigan mula sa bahay upang kumonekta ang aking server alinman sa pamamagitan ng SSH o FTP imposible para sa amin na gamitin ang IP na ginagamit ko sa aking computer.

    Nais kong malaman kung bakit ito ay dahil ang ip "192.168.0.13" Sa palagay ko gumagana nang lokal, iyon ay, dapat ba akong mag-configure ng iba pa, baguhin / etc / network / interface, baguhin ang isang bagay sa iptables?
    Sa gayon, nais kong gumana ang aking server bilang isang pampublikong IP kung saan maaaring kumonekta ang sinuman sa pag-access.

    Thanks in advance!