Hur man skapar en SSH-tunnel mellan en Linux-server och en Windows-klient

Idén att bygga en SSH-tunnel är att kryptera alla anslutningar (oavsett om du till exempel går till en https- eller http-sida) och ansluter till Internet genom a säker kanal. Denna "säkra" kanal är inget annat än en server konfigurerad för detta ändamål. Denna server kan till exempel vara i ditt hus.


"Nackdelen" med den här metoden är att du alltid måste ha den här maskinen påslagen och konfigurerad korrekt för att fungera som en SSH-server, men det gör att du kan förbättra säkerheten för din anslutning och till och med undvika de anslutningsbegränsningar som införts av nätverksadministratörer (till exempel ditt jobb).

Jag hör dig fråga: kan det verkligen hjälpa mig? Låt oss anta följande scenario: du befinner dig på ett internetcafé eller restaurang med gratis Wi-Fi och du måste göra en banköverföring eller annan viktig operation. Naturligtvis rekommenderas det alltid att utföra dessa typer av transaktioner i en säker miljö. Det finns dock en lösning: en SSH-tunnel. På detta sätt kan vi ansluta till Internet via vår "säkra" server.

Den här metoden är också användbar för att kringgå begränsningarna för anslutningar i många arbetsmiljöer. Kan du inte komma åt YouTube från jobbet? Tja, en SSH-tunnel kan vara lösningen, eftersom alla förfrågningar kommer att göras via din "säkra" server. Med andra ord, eftersom IP-adressen för din säkra server inte är blockerad (ja, å andra sidan YouTube), kommer du att kunna "undvika" denna begränsning (inte att kunna komma åt YouTube) eftersom för administratören av ditt företag nätverk chattade din maskin bara med din "säkra" server och har ingen aning om att du genom det faktiskt surfar många sidor.

I denna handledning kommer vi att förklara det "typiska" fallet: Linux-server, Windows-klient.

Konfigurera Linux-servern

1.- Installera SSH-servern. För att göra detta öppnade jag en terminal och sprang:

En ubuntu:

sudo apt-get installera openssh-server

En Arch:

pacman -S openssh

En fedora:

yum -y installerar openssh-server

Redo. Du kommer nu att kunna komma åt Ubuntu (SSH-servern) med en SSH-klient.

2.- Efter installationen är det användbart att granska konfigurationsfilen:

sudo nano / etc / ssh / sshd_config

Från den här filen kan du enkelt konfigurera din SSH-server. Min rekommendation är att bara ändra två parametrar: port och allowusers.

För att undvika eventuella attacker är det lämpligt att ändra porten som SSH kommer att använda. Som standard kommer det med värdet 22, du kan välja en annan som passar dig bäst (i denna handledning har vi valt 443 men det kan vara vilket annat som helst).

Parametern Allowusers låter dig begränsa åtkomst för användare och, eventuellt, värden från vilken du kan ansluta. Följande exempel begränsar åtkomsten till SSH-servern så att endast så-och-så-användare kan göra det från värdar 10.1.1.1 och 10.2.2.1.

AllowUsers så och så@10.1.1.1 mengano@10.1.1.1 så och så@10.2.2.1 mengano@10.2.2.1

Konfigurera routern

Om din server är bakom en router är det nödvändigt att konfigurera den senare så att den inte blockerar inkommande anslutningar. Mer specifikt måste du konfigurera.

Innan du kommer till saken och visar den nödvändiga konfigurationen verkar det klokt att förklara lite vad port-vidarebefordran består av.

Antag att du har ett lokalt nätverk med tre maskiner, alla bakom en router. Hur fungerar en inkommande anslutning (från SSH, som skulle vara vårt fall) för att kommunicera med maskin 3 i vårt lokala nätverk? Glöm inte att "från utsidan" delar de tre maskinerna, även om de har lokala IP-adresser, en enda offentlig IP genom vilken de ansluter till Internet.

Lösningen på ovannämnda problem är vidarebefordran av port. På det här sättet, när inkommande anslutningar tas emot till port X på vår offentliga IP, kommer routern att hänvisa den till motsvarande maskin. På det här sättet, när vi ansluter via den porten, vet vi att routern kommer att omdirigera oss (därmed portvidarebefordran) till motsvarande maskin. Allt detta måste självklart konfigureras i routern.

Port-vidarebefordringskonfigurationen varierar lite beroende på vilken router du använder. Det mest praktiska är att besöka portforward.com, välj den routermodell du använder och följ stegen som beskrivs där.

Konfigurera Windows-klienten

För att ansluta från Windows är det praktiskt att använda PuTTY-verktyget som en SSH-klient.

1.- Det första steget är att ladda ner PuTTY

Som du kan se på PuTTY-nedladdningssidan finns det flera versioner tillgängliga. Jag rekommenderar att du laddar ner den bärbara versionen av programmet: putty.exe. Fördelen med att välja den bärbara versionen är att du alltid kan bära den med dig på en pendrive och köra programmet från vilken dator du än är.

2.- Öppna PuTTY och ange IP (offentlig) och port på servern som SSH-klienten ska ansluta till. Hur hittar du den offentliga IP-adressen för din server? Enkelt, bara google "vad är min offentliga IP" för att hitta tusentals sidor som erbjuder denna tjänst.

3.- Om "klienten" ligger bakom en proxy, glöm inte att konfigurera den korrekt. Om du inte är säker på vilken data du ska ange, öppna Internet Explorer och gå till Verktyg> Anslutningar> LAN-inställningar> Avancerat. Kopiera och klistra in data som visas där i PuTTY, som visas i bilden nedan. I vissa fall kan du behöva ange ett användarnamn och lösenord.

4.- Det är nödvändigt att ange de "lokala" vidarebefordringsdata för att bygga SSH-tunneln. Gå till Anslutning> SSH> Tunnlar. Här är idén följande, vi måste berätta för PuTTY vilka anslutningar som ska "vidarekopplas" till vår säkra server. För att göra detta måste vi välja en port.

Min rekommendation, särskilt om maskinen ligger bakom en proxy, är att du väljer port 443 eftersom det är den som används av SSL för att skapa säkra anslutningar, vilket gör det svårt för administratören att upptäcka vad du gör. Å andra sidan är port 8080 den som används av HTTP (som inte är en "säker" anslutning) så en erfaren nätverksadministratör kan vara misstänksam och kan till och med ha blockerat porten för andra typer av anslutningar.

I Destination anger du IP-adressen för den säkra servern, följt av ett kolon och porten som du öppnade i punkten "Konfigurera routern" och i ~ / .ssh / config-filen. Till exempel 192.243.231.553:443.

Välj Dynamic (som skapar en SOCKS-anslutning, som vi kommer att använda i nästa punkt) och klicka på Lägg till.

5.- Jag gick tillbaka till PuTTY-huvudskärmen, klickade på Spara och sedan på Öppna. Första gången du ansluter till servern visas ett varningsmeddelande som det nedan:

6.- Sedan kommer den att be om ditt användarnamn och lösenord med åtkomst till servern.

Om allt gick bra, när inloggningen är klar, bör du se något liknande det du ser nedan ...

7. - Slutligen, utan att stänga PuTTY, öppna och konfigurera Firefox (eller din favoritwebbläsare) för att ansluta till Internet via PuTTY.


Innehållet i artikeln följer våra principer om redaktionell etik. Klicka på för att rapportera ett fel här.

12 kommentarer, lämna din

Lämna din kommentar

Din e-postadress kommer inte att publiceras.

*

*

  1. Ansvarig för uppgifterna: Miguel Ángel Gatón
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.

  1.   Jose daniel rodriguez sade

    en fråga i steg 6 vilket användarnamn och vilket lösenord ska jag sätta

  2.   jose sade

    utmärkt, jag kommer att försöka konfigurera det med mitt hus

  3.   Al sade

    för att komma åt internet från mitt hem:
    uppringd anslutning med 56k-modem,
    Jag kör en .bat-fil som har den här konfigurationen:
    @Echo Off
    C:
    Cd C: \ Windows
    kitt -N -C -D 1080 -P 443 -ssh användare@00.00.000.000 -pwpass
    Utgång
    och det är relaterat till kittet som är konfigurerat i detta
    form: i alternativ som styr proxyanvändning lägger jag den i http, i proxy
    värdnamn Jag sätter min proxy och port 3128 och användarnamn och lösenord
    Jag lägger mina uppgifter och lämnar allt annat orörda och sparar detta
    konfiguration en första gång som standardinställningar
    och för att kunna använda mozilla, yahoo messenger, etc, måste jag proxifiera
    applikationer med proxifier version 3 konfigurerad på detta sätt:
    i proxyserver med adressen 127.0.0.1 port 1080 sock version 5,
    i proxifieringsregler lägger jag till kittapplikationen och i handlingar jag lägger till
    direkt, så att alla program kommer ut genom detta.
    Jag måste veta hur jag kan uppnå det på min Android-telefon det
    Jag ansluter till min dator via connectify och den delar min anslutning från
    tillgång till telefon. Jag behöver handledning och apk för att lösa detta för mig
    dilemma. Hälsningar och tack på förhand

  4.   Clint Eastwood sade

    Det var nödvändigt att förklara hur SSH-servern magiskt kommer att hantera de HTTP-förfrågningar som klienten gör ... svag självstudien ...

    1.    Errol Flynn sade

      Fel Clint Eastwood.

      Med det som förklarades i handledningen "magiskt" fungerar det!

      Inte alls svag, snarare skulle jag säga rättvis och konkret.

      Mycket väl förklarad för oerfarna.

      hälsningar

      1.    låt oss använda Linux sade

        Så bra att det har tjänat dig! En kram! Paul.

  5.   DumasLinux sade

    Det fungerar väldigt bra.

    Som nedan SSH-tunnel med WinSCP:

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

  6.   JEAMPIERRE ZAMBRANO-GROTTAN sade

    bra mycket väl förklarade 5 * tack

  7.   Rodrigo sade

    En fråga…
    Vad händer om det jag vill ha är en tunnel mellan två Linux-maskiner? Jag har följande situation: Vid mitt arbete lurar vi med en dator, vi vill testa videokonferensprogramvara, så vi var tvungna att installera en server på en avandonado-dator. Problemet är att installationen misslyckas när installation av programvaran (bigbluebutton) ... vi upptäckte att problemet är att nedladdningen av en komponent i installationen blockeras (jag är inte datavetare, jag är en lärare som ständigt lär sig ) ...
    Eftersom företaget är bra är möjligheterna att hjälpa oss från nätverk mindre än noll ...
    Så jag tänkte ansluta servern (ubuntu-servern) genom en ssh-tunnel med min hemdator (som har ubuntu) och sedan installera programvaran ...
    Det är möjligt? De hjälper mig?

  8.   Suan sade

    Hej bra, jag har en fråga, jag vill ansluta till ett program som jag har på min Debian-server som finns i en virtuell maskin, som jag har monterat på Windows och jag vill komma åt den applikationen från ett annat nätverk, någon vägleder mig tack .

  9.   anony sade

    Hur man installerar och konfigurerar en SSH-server
    https://www.youtube.com/watch?v=iY536vDtNdQ

  10.   Tosko sade

    Hej bra, jag har en fråga som stör mig mycket och jag har bestämt mig för att gå för att konsultera samhället .. ja här är jag för att se om du kan hjälpa mig .. Jag är "ny" i världen av virtualisering, Linux.

    Fallet är följande Jag har installerat en virtuell maskin med Linux-server 14.04.5 LTS, jag har konfigurerat nätverket i Vbox som en "bridge-adapter" som väljer min nätverksadapter. En gång inuti min server har jag installerat flera saker, det vill säga jag har internetåtkomst .. bland dessa har jag installerat SSH-tjänsten och lämnar port 22 som standard och ftp-tjänsten "vsftpd".

    När du konsulterar kommandot «ifconfig» svarar det mig:
    Länkkapsling: Ethernet-adress HW 08: 00: 27: d5: 2c: 88
    Adress inet: 192.168.0.13 Diffus: 192.168.0.255 Masc: 255.255.255.0
    ......

    För att ansluta från min dator (Windows 10) med Putty till min virtuella server med ssh (port 22) använder jag ip "192.168.0.13", och detsamma med FTP, men om jag vill att en vän hemifrån ska ansluta till min server antingen via SSH eller FTP är det omöjligt för oss att använda IP-adressen som jag använder på min dator.

    Jag skulle vilja veta varför detta beror på att ip "192.168.0.13" tror jag fungerar lokalt, det vill säga ska jag konfigurera något annat, ändra / etc / nätverk / gränssnitt, ändra något i iptables?
    Tja, jag vill att min server ska fungera som en offentlig IP som alla kan ansluta till.

    Tack på förhand!