
Mein Büro hat ein Standard-Gateway und dahinter befindet sich ein lokales Netzwerk mit lokal zugewiesenen IP-Adressen für alle Computer, einschließlich meinem.
Ich bin Administrator auf meinem Büro-PC mit Ubuntu und muss am Wochenende unbedingt per SSH auf den Computer zugreifen.
Im Büro habe ich keine öffentliche IP, sondern bekomme immer dieselbe lokale IP vom DHCP. Ich kann auf meinem PC jede beliebige Software installieren, kann jedoch keine Portweiterleitung in der Hauptfirewall einrichten.
Ich erhalte eine öffentliche IP für meinen Heimcomputer, auf dem auch Linux läuft. Bitte beachten Sie, dass ich keine Team Viewer-ähnliche Software installieren kann.
Wie kann ich mein Problem lösen?
Antwort1
Es ist einfach:
[Vom Bürocomputer ausführen] Richten Sie die Verbindung Büro -> Zuhause ein (da Zuhause eine öffentliche IP hat). Dadurch wird ein Reverse-Tunnel von Ihrem Bürocomputer nach Hause eingerichtet.
ssh -CNR 19999:localhost:22 homeuser@home
[Vom Heimcomputer ausführen] Stellen Sie von zu Hause aus eine Verbindung zu Ihrem Büro her. Dabei wird der Tunnel aus Schritt 1 verwendet.
ssh -p 19999 officeuser@home
Bitte stellen Sie sicher, dass SSH-Tunneling nicht gegen die Richtlinien Ihres Unternehmens verstößt, da Sie manchmal wegen eines solchen Verbindungsschemas entlassen werden können (z. B. würde mein Arbeitgeber mich deswegen entlassen).
PS: Im ersten Schritt möchten Sie möglicherweise autossh
oder etwas Ähnliches verwenden, damit Ihre Tunnelverbindung im Falle eines instabilen Netzwerks automatisch wiederhergestellt wird.
Antwort2
Vorausgesetzt, Sie haben die Kontrolle über Ihr Heimnetzwerk und haben dort Ihre interne IP-Adresse fest eingerichtet (z. B. basierend auf der MAC-Adresse Ihres Heim-PCs), können Sie an Ihrem Heimrouter einen Port (z. B. 4321) öffnen, um die Weiterleitung an Ihren PC auch über 4321 zu ermöglichen.
Hören Sie zu Hause sshd
auf diesem Port zu.
Erstellen Sie lokal einen neuen Benutzer, da Sie Ihr normales öffentliches/privates Schlüsselpaar natürlich nicht auf Ihrem Bürocomputer verwenden möchten, wenn Sie nicht da sind. Erstellen Sie ein öffentliches/privates Schlüsselpaar auf Ihrem Bürocomputer und kopieren Sie den öffentlichen Schlüssel auf den neuen Benutzer auf Ihrem Heimcomputer.
Vorausgesetzt, Ihre private IP-Adresse (die Sie von Ihrem Provider Ihrem Router zugewiesen bekommen) ist relativ stabil und Sie können diese private IP-Adresse irgendwo veröffentlichen (z. B. indem Sie sie auf eine Website hochladen), wo Ihr Büro-PC sie abrufen kann, kann Ihr Büro-PC einen Reverse-SSH-Tunnel einrichten.
Ihr Büro-PC sollte die private IP regelmäßig (z. B. alle 5 Minuten) abrufen und bei einer Änderung der IP den Reverse-SSH-Tunnel einrichten:
ssh -p 4321 -N -R 12345:localhost:22 reverse@home-ip
und Sie können sich per SSH mit dem lokalen Port 12345 verbinden, um eine Verbindung zu Ihrem Büro-PC herzustellen:
ssh -p 12345 officelogin@localhost