Wie ssh in einen Server in einem Heimnetzwerk hinter einem Router?

22

Okay, ich habe einen PC in meinem Heimnetzwerk, auf dem Ubuntu auf einer VM mit installiertem openssh-Server ausgeführt wird.

  1. Wie kann ich von einem anderen Computer außerhalb des Heimnetzwerks über das Internet remote darauf zugreifen?
  2. Mit welcher IP-Adresse verbinde ich mich?
  3. Welche Art von Portweiterleitung muss ich ausführen?
Hugo Lobo
quelle
Welche Art von Netzwerk verwendet die VM? Für den typischen Heimgebrauch wird Bridged empfohlen. Für Netzwerkzwecke entspricht die VM einer physischen Maschine, sodass Sie die Portweiterleitung wie gewohnt auf Ihrem Router durchführen.
Fkraiem
Unter Netzwerkeinstellungen auf meiner VM wird angezeigt, dass der Netzwerkadapter an NAT angeschlossen ist. Hier ist ein Screenshot: Link Muss ich das ändern?
Hugo Lobo
Wenn Sie es überbrücken, wird es einfacher, ja. (Grundsätzlich müssen Sie bei NAT die Portweiterleitung auf Ihrem Router und in der VBox zweimal durchführen.)
fkraiem
Tatsächlich benötigen Sie keine Portweiterleitung, wenn die Maschine, von der Sie eine Verbindung herstellen möchten, für Ihren lokalen Server sichtbar ist - nur das -LFlag im Befehl ssh -, stellen Sie jedoch sicher, dass die Verbindung am Leben bleibt die Datenübertragung.
Roomy

Antworten:

22

Es gibt mehrere Dinge, die Sie tun müssen:

1) Stellen Sie, wie in seinem Kommentar erwähnt, sicher, dass Ihre VM im lokalen Netzwerk erreichbar ist. Dies sollte durch die Verwendung einer Bridge-Netzwerkverbindung in den VM-Einstellungen erreicht werden. Überprüfen Sie dann mithilfe eines anderen Computers (auch Ihres Hosts), ob Sie sich beim SSH-Server anmelden können. Wenn Sie können, herzlichen Glückwunsch, gehen wir zum nächsten Schritt.

2) Als nächstes müssen Sie wissen, wie die Weiterleitung an Ihrem Router erfolgt. Da Sie nicht erwähnt haben, welchen Router Sie haben, müssen Sie das selbst herausfinden. Port 22 wird von SSH verwendet. Natürlich können Sie einen höheren Port des Routers abhören, um zu vermeiden, dass Ihre Protokolle von einer Reihe von Skript-Kiddies gefüllt werden, die versuchen, sich in Ihren Server zu hacken, und dann den Port an 22 auf Ihrem Server weiterleiten. Angenommen, Ihre lokale IP-Adresse für Ihren Server lautet 192.168.0.10. Ihre WAN (Internet) -IP lautet 99.99.99.99.

99.99.99.99:60022 -> Router -> 192.168.0.10:22

Sie möchten Ihrem Router mitteilen, dass er auf Port 60022 lauscht und dies an IP 192.168.0.10 und Port 22 weiterleitet.

Um herauszufinden, wie Ihre WAN-IP lautet, gehen Sie einfach auf "Wie lautet meine IP-Adresse?". Es gibt andere Möglichkeiten, aber es ist am einfachsten.

Versuchen Sie nun, nachdem Sie den Router eingerichtet haben, eine Verbindung mit einem externen Computer zu Ihrer WAN-IP mit dem höheren Port herzustellen. Sie können Ihr Mobiltelefon an einen Laptop anschließen, um dies zu erreichen.

Wenn du dich damit verbinden könntest, dann nochmal Glückwunsch.

3) Jetzt müssen Sie sicherstellen, dass Ihre IP-Adressen in Ihrem lokalen Netzwerk statisch bleiben, und Sie benötigen einen dynamischen DNS-Eintrag für Ihre WAN-IP-Adresse. Auf diese Weise würden Sie einen Domainnamen anstelle Ihrer WAN-IP verwenden. Google "dynamische DNS", um einen kostenlosen Dienst zu finden.

Hoffe das hat geholfen.

G Trawo
quelle
Ist dies der eigentliche Befehl "99.99.99.99:60022 -> Router -> 192.168.0.10:22"? Was bedeutet "Router"? Ich meine, was geht hier rein?
m4l490n
@ m4l490n Nein, das ist kein Befehl. Es ist einfach eine Möglichkeit, den "Fluss" der Verbindung zu zeigen. 99.99.99.99 ist nur eine IP-Adresse, die ich ausgewählt habe. Ich hätte auch XXX.XXX.XXX.XXX anzeigen können, finde aber die Zahlen verständlicher. 60022 ist der "externe" Port, an dem der Router empfangsbereit ist. Anschließend wird der Port an die interne Adresse 192.168.0.10 weitergeleitet und auf Port 22 verschoben. Der Grund, warum ich nicht näher darauf eingegangen bin, ist, dass OP nicht angegeben hat, welchen Router (und welche Firmware) er verwendet hat.
G Trawo
4

Mein persönliches Setup ist folgendes:

  1. Nehmen wir zum Beispiel 192.168.0.33 auf dem Router-Forward-Port 22 von der entfernten Maschine zu 2222 der lokalen Maschine an. Auf diese Weise können Sie weiterhin ssh-Zugriff auf das Hauptbetriebssystem des Computers haben, während 2222 für das virtuelle Betriebssystem bestimmt ist.

    Bildbeschreibung hier eingeben

    1. Leiten Sie auf der virtuellen Box Host-OS 192.168.0.33-Port 2222 an den Port 22 des Gastbetriebssystems weiter. Die IP des Gasts kann mit dem ifconfigBefehl auf dem Gast selbst ermittelt werden.

    Bildbeschreibung hier eingeben

Wenn Sie die IP-Adresse Ihres Routers kennen, können Sie diese an die IP-Adresse Ihres Routers senden. Diese wird dann automatisch an Port 2222 Ihres physischen Computers weitergeleitet. Die physische Maschine stellt diese Verbindung zu Port 22 der virtuellen Maschine her (vorausgesetzt, die VM wird ausgeführt).

Wenn Sie vom lokalen Netzwerk aus sshen möchten, verwenden Sie ssh -p 222 192.168.0.33

Sergiy Kolodyazhnyy
quelle