GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Ssh-Portweiterleitung, um von überall auf den Heimcomputer zuzugreifen?

Ich komme von dieser Frage:https://superuser.com/questions/359799/how-to-make-freebsd-box-accessible-from-internet

Ich möchte diesen ganzen Prozess der port forwarding verstehen .

Ich habe so viel gelesen, verstehe aber das grundlegende Konzept der Portweiterleitung selbst nicht.

Was ich habe:

ein Freebsd-Server, der bei mir zu Hause steht.
Netgear-Router

Das versuche ich zu erreichen:

um von einem Windows-Rechner über das Internet auf den FreeBSD-Server zugreifen zu können, um einen Webbrowser öffnen und auf das Internet zugreifen zu können.

Ich möchte auch von einer Ubuntu-Maschine, die ich habe, auf diese FreeBSD-Box zugreifen.

Es wäre großartig, wenn mir jemand helfen könnte.

Hier ist das Netgear-Router-Setup, das ich für die Portweiterleitung vorgenommen habe.

Akzeptierte Antwort:

Ich beginne mit den nackten Fakten:

  1. Sie haben:A – Ihre FreeBSD-Box, B – Ihren Router und C – eine Maschine mit Internetzugang. So sieht es aus:

    .-----.      .-----.                        .-----.
    |  A  |  ==  |  B  |  - - ( Internet ) - -  |  C  |
    '-----'      '-----'                        '-----'
    _________ ________/
              v
               `- this is your LAN
    

    Beachten Sie, wie Ihr Router normalerweise arbeitet funktioniert:es erlaubt Verbindungen von Maschinen in Ihrem LAN an das Internet (einfach gesprochen). Wenn also das A (oder jede andere Maschine im LAN) auf das Internet zugreifen möchte, wird es erlaubt (wiederum nur über grundlegendes Verständnis und Konfiguration zu sprechen) :

    .-----.      .-----.                        .-----.
    |  A  |  ==  |  B  |  - - ( Internet ) - -  |  C  |
    '-----'      '-----'                        '-----'
          `-->----'  `--->--->---^  
    

    Und das Folgende ist nicht standardmäßig erlaubt:

    .-----.      .-----.                        .-----.
    |  A  |  ==  |  B  |  - - ( Internet ) - -  |  C  |
    '-----'      '-----'                        '-----'
          `--<----'  `---<--- - - - - --<---<-----'
    

    (Das heißt, der Router schützt die Computer in Ihrem LAN nicht aus dem Internet zugegriffen werden.) Beachten Sie, dass der Router der einzige Teil Ihres LAN ist, der von gesehen wird das Internet.

  2. Die Portweiterleitung ermöglicht das dritte Schema. Diese besteht darin, dem Router was mitzuteilen Verbindung von C sollte zu welchem gehen Maschine im LAN. Dies geschieht basierend auf Portnummern – deshalb heißt es Portweiterleitung . Sie konfigurieren dies, indem Sie den Router anweisen, dass alle Verbindungen, die an einem bestimmten Port aus dem Internet kommen, zu einem bestimmten Computer im LAN gehen sollen. Hier ist ein Beispiel für Port 22, der an Maschine A weitergeleitet wird :

    .------.     .-------.                        .-----.
    |  A   | ==  |   B   |  - - ( Internet ) - -  |  C  |
    |      |     |       |                        '-----'
    '-|22|-'     ',--|22|'                          |
        `--<-22---'    `---<---- - - - - - --<-22---'
    
  3. Solche Verbindungen über das Internet erfolgen auf der Grundlage von IP-Adressen. Eine etwas genauere Darstellung des obigen Beispiels wäre also:

    .------.      .-------.                                .-----.
    |  A   |  ==  |   B   | - - - - - ( Internet ) - - - - |  C  |
    |      |      |       |                                '-----'
    '-|22|-'      ',--|22|'                                   |
        `--<-A:22--'    `--<-YourIP:22 - - - - --<-YourIP:22--'
    

    Wenn Sie keine Internetverbindung mit statischem haben IP, dann müssten Sie irgendwie erfahren, welche IP Ihrem Router derzeit vom ISP zugewiesen wird. Andernfalls C weiß nicht, zu welcher IP er sich verbinden muss, um zu Ihrem Router zu gelangen (und weiter zu A ). Um dies auf einfache Weise zu lösen, können Sie einen Dienst namens dynamisches DNS verwenden . Dadurch würde Ihr Router regelmäßig Informationen an einen speziellen DNS-Server senden die Ihre IP-Adresse verfolgen und Ihnen einen Domainnamen zur Verfügung stellen . Es gibt einige kostenlose dynamische DNS-Anbieter. Viele Router verfügen über Konfigurationsoptionen, um diese einfach zu kontaktieren.

Verwandt:Beim Herunterfahren eines Windows 7-Computers wird dieser manchmal stattdessen neu gestartet?

Dies ist wiederum eine Vereinfachung – das eigentliche Gerät, das für das Internet sichtbar ist, ist das Modem – das oft in den Router integriert sein kann, aber auch eine separate Box sein kann.
oder jede andere Maschine mit Internetverbindung.

Nun zu dem, was Sie wollen:

  1. Es ist keine gute Idee, einfach ssh-Zugriff auf Ihren Computer aus dem Internet zuzulassen. Es gibt Tausende von Bots, die von Crackern eingerichtet wurden die im Internet nach Rechnern mit offenem SSH-Port suchen. Sie "klopfen" normalerweise an den Standard-SSH-Port von so vielen IPs wie sie können, und sobald sie irgendwo einen SSH-Daemon finden, versuchen sie, Bruteforce zu erreichen Zugriff auf die Maschine. Dies ist nicht nur ein Risiko eines potenziellen Einbruchs, sondern auch einer Verlangsamung des Netzwerks, während die Maschine brutal erzwungen wird.

  2. Wenn Sie einen solchen Zugriff wirklich benötigen, sollten Sie mindestens

    • versichere, dass du stark bist Passwörter für alle Benutzerkonten,

    • Root-Zugriff über SSH verbieten (Sie können sich immer als normaler Benutzer anmelden und su oder sudo dann),

    • Ändern Sie den Standardport, auf dem Ihr SSH-Server laufen würde,

    • Führen Sie einen Mechanismus ein, um zahlreiche SSH-Anmeldeversuche zu verbieten (mit zunehmender Wartezeit für nachfolgende Versuche – ich weiß nicht mehr, wie das genau heißt – ich hatte es vor einiger Zeit auf FreeBSD aktiviert und ich erinnere mich, dass es ziemlich einfach war – versuchen Sie es Durchsuchen Sie einige FreeBSD-Foren usw. nach dem Sichern von SSH, und Sie werden es finden.)

    • Versuchen Sie nach Möglichkeit, den ssh-Daemon nur auszuführen, wenn Sie wissen, dass Sie in naher Zukunft auf den Computer zugreifen werden, und schalten Sie ihn anschließend aus

  3. Gewöhnen Sie sich daran, Ihre Systemprotokolle zu durchsuchen. Wenn Sie beginnen, etwas Verdächtiges zu bemerken, führen Sie zusätzliche Sicherheitsmechanismen wie IP-Tabellen ein oder Hafenklopfen .


Linux
  1. Ändern Sie den SSH-Port in CentOS und Red Hat

  2. Ändern Sie den SSH-Port im Betriebssystem Linux Ubuntu

  3. Sollte ich den Standard-SSH-Port auf Linux-Servern ändern?

  4. Wie leitet man einen Port von einer Maschine zu einer anderen weiter?

  5. IPTables - Port zu einer anderen IP &Port (von innen)

Bashhub – Greifen Sie von überall auf Ihren Terminalverlauf zu

So ändern Sie den SSH-Port in CentOS

DER EINFACHE WEG, wie man SSH in Bash und WSL2 unter Windows 10 von einem externen Computer aus macht

So führen Sie SSH in WSL2 unter Windows 10 von einem externen Computer aus

Wie man SSH in einen Windows 10-Rechner von Linux ODER Windows ODER überall her einfügt

SSH:In einem privaten Netzwerk, wie Sie vom Quellcomputer auf den Remote-Computer zugreifen, ohne den öffentlichen SSH-Schlüssel zu verwenden