Für einen Software-Developer kann Remote-Work manchmal eine ganz schöne Herausforderung sein. Auf den Source-Code lokal zugreifen und bauen zu können, macht die Dinge oft bequemer und die Arbeit damit schneller.
AnyDesk ermöglicht die Einrichtung eines TCP-Tunnels, über den Sie auf Dateien, die auf einem Remote-Gerät abgelegt sind, schnell und einfach lokal zugreifen können, ohne diese auf Ihren lokalen Rechner herunterladen zu müssen.
In diesem Blog Post zeige ich Ihnen, wie Sie mit AnyDesk für Linux einen TCP-Tunnel zu einem Remote-Geräte herstellen, um entfernte Zielordner lokal einbinden zu können. TCP-Tunneling funktioniert aber auch auf Windows- und macOS-Geräten. Diese Lösung ist zudem CPU-effizienter als der klassische Remote-Desktop-Zugriff.
SSH, wie jede TCP-Weiterleitung, ist nur dann möglich, wenn das Host-Gerät, auf welches Sie verbinden möchten, von Ihrem lokalen Computer aus sichtbar ist. Der Host muss sich dazu im selben lokalen Netzwerk befinden oder eine eigene, externe IP-Adresse haben. Normalerweise ist dies nicht der Fall, wenn Sie von zu Hause auf Ihren Office-PC verbinden.
Mit AnyDesk können Sie sich auf jeden Computer verbinden, ganz unabhängig von vorhandenen Firewalls oder NATs. Mit dem TCP-Tunnel-Feature von AnyDesk können Sie einen Tunnel zum Remote-Gerät herstellen und SSH so verwenden, wie als würden sich beide Computer im selben Netzwerk befinden. Um dies zu tun, öffnen Sie die Einstellungen für TCP-Tunneling rechts unten auf der Kachel, die das Gerät anzeigt, auf welches Sie sich verbinden möchten.
In der Dialogbox sehen Sie die Einstellungen für Direct und Reverse Tunnels. In diesem Beispiel wählen wir den direct Tunnel. Um unseren SSH-Port weiterleiten zu können, müssen wir im Dialogfeld eine Regel einrichten:
Im oben gezeigten Beispiel leiten wir den TCP-Port 22 des Remote-Gerätes (also den Remote-Port, der von SSH verwendet wird) auf den lokalen Port 2222 weiter. Sie können natürlich beliebige andere Ports wählen.
Der Tunnel wird aktiviert, sobald Sie anschließend zur entsprechenden AnyDesk ID verbinden. Die Art der Verbindung ist dabei nicht von Bedeutung. Der Tunnel funktioniert sowohl im normalen als auch im Dateiübertragungsmodus. Ich bevorzuge den Dateiübertragungsmodus, um Traffic und CPU-Zeit einzusparen.
Nachdem Sie die Regel für die TCP-Weiterleitung erstellt und sich zum Remote-Gerät verbunden haben, ist es an der Zeit die SSH-Verbindung zu testen. Geben Sie den folgenden Befehl in Ihren Terminal ein:
ssh -p 2222 <username>@localhost
Ersetzen Sie dabei <username> mit dem User-Namen auf Ihrem Office-PC. Wenn Sie alles korrekt durchgeführt haben, werden Sie anschließend nach dem Passwort auf dem Remote-Gerät gefragt. Wenn Sie sich erfolgreich verbunden haben, können Sie die Remote-Shell wieder schließen. Sie wird nicht länger benötigt.
Im nächsten Schritt kopieren Sie Ihre lokalen SSH-Schlüssel auf Ihren Office-PC, damit Ihnen dieser künftig auch ohne die Eingabe des Passworts Zugriff gewährt. Falls Sie noch keine SSH-Schlüssel generiert haben, holen Sie dies mit dem folgenden Befehl nach:
ssh-keygen
Kopieren Sie die Schlüssel anschließend auf Ihr Remote-Gerät:
ssh-copy-id -p 2222 <username>@localhost
Nachdem Sie diesen Schritt erfolgreich abgeschlossen haben, sollten Sie die SSH-Verbindung ohne die Eingabe Ihres Passwortes starten und wiederholen können.
Nachdem wir die ersten Konfigurationsschritte erfolgreich abgeschlossen haben, ist es nun an der Zeit den entfernten Zielordner, der unsere gewünschten Dateien beinhaltet, zu unserem lokalen Gerät hinzuzufügen. Der Trick besteht darin, die Remote-Dateien mit SSHFS lokal zu mounten. Wenn Sie SSHFS noch nicht installiert haben, kann dies auf DEB-basierten Systemen schnell und einfach via APT nachgeholt werden:
sudo apt install sshfs
Erstellen Sie nun einen lokalen Dateiordner, in den Sie die Remote-Dateien des Zielordners einbinden möchten. Ich empfehle Ihnen an dieser Stelle, einen identischen Pfad für den lokalen Dateiordner und den entfernten Zielordner zu verwenden. In diesem Beispiel nehmen wir an, dass der Zielordner auf dem Remote-Gerät folgenden Pfad hat:
/home/johndoe/work
Diesen werden wir im nächsten Schritt nun lokal mounten:
sshfs -p 2222 johndoe@localhost:/home/johndoe/work /home/johndoe/work
Wenn alles korrekt eingerichtet wurde, haben Sie die Remote-Dateien des Zielordners nun erfolgreich lokal eingebunden. Vergessen Sie jedoch nicht, dass Sie eine aktive AnyDesk Verbindung benötigen, damit der TCP-Tunnel auch wirklich funktioniert. Wenn Sie die AnyDesk Verbindung beenden, wird der Zielordner vom lokalen Gerät sofort wieder entfernt.
Um auf entfernte Daten zugreifen zu können, mussten wir bisher alle Befehle händisch eingeben. AnyDesk erlaubt es Ihnen, diesen Prozess zu automatisieren. Öffnen Sie, wie im vorigen Beispiel, die Einstellungen für das TCP-Tunneling aus der Kachelübersicht der letzten Sitzungen. Ganz unten im Dialogfeld sehen Sie ein kleines Auswahlfeld Benutzerdefiniertes Skript verwenden. Wählen Sie dieses an und das Skript wird automatisch lokal ausgeführt, sobald die TCP-Tunnelverbindung hergestellt wird.
Im Folgenden erstellen wir nun ein Skript, mit dem wir den Zielordner auf dem Office-PC automatisch mounten können.
Klicken Sie nun auf “Speichern“ und verbinden Sie sich erneut. Der Zielordner auf dem Office-PC sollte nun automatisch lokal eingebunden und bei Beenden der Verbindung wieder entfernt werden. Eine IDE oder ein einfacher Texteditor sollten in Verbindung mit dem gemounteten Zielordner problemlos funktionieren.
Es gibt noch viele weitere Möglichkeiten zur Automatisierung. So können Sie beispielsweise eine Zeile zum Skript hinzufügen, um die Remote-Shell automatisch zu öffnen. Ich persönlich verwende Terminator als meinen bevorzugten Terminal-Emulator. Damit können Sie ein benutzerdefiniertes Profil erstellen, das die Remote-Shell beim Start öffnet:
Fügen Sie einfach den folgenden Befehl zu Ihrem Skript hinzu und Ihre Remote-Shell ist sofort bereit sobald Sie verbunden sind:
terminator -p remote
Im Normalfall ist es notwendig, auch auf die ein oder andere interne Web-Ressource, wie beispielsweise Issue-Tracker, zuzugreifen. Diese sind in der Regel nur direkt vom Büro aus zugänglich. Mit SSH können Sie jedoch schnell und einfach einen SOCKS5 Proxy erstellen:
ssh -D 7000 -N -p 2222 johndoe@localhost
Dieser Proxy verwendet Port 7000 Ihres lokalen Rechners. Wenn Sie diese Zeile zum Skript des AnyDesk TCP-Tunnels hinzufügen, wird dieser Proxy automatisch erstellt. Um ihn anschließend auch verwenden zu können, empfehle ich eine Browser-Erweiterung namens FoxyProxy. Damit können Sie benutzerdefinierte Proxy-Einstellungen je nach URL vornehmen.
Als Alternative zum klassischen Remote-Desktop-Zugriff lassen sich Remote-Dateien mit AnyDesk für Linux über SSHFS auch lokal mounten. Das erleichtert Remote-Work besonders dann, wenn Sie auf Remote-Dateien oder einen Source-Code lokal zugreifen möchten.
AnyDesk für Linux ist einfach anzuwenden und ermöglicht eine reibungslose und nahtlose Verbindung zu beliebigen Betriebssystemen. Unsere Remote-Desktop-Software läuft auf allen gängigen Linux-Distributionen, wie beispielsweise Ubuntu, Red Hat oder openSUSE. Updates sind kostenlos, unabhängig davon welche Lizenz Sie haben.
Sie möchten mit AnyDesk für Linux arbeiten? Wählen Sie jetzt aus der Liste der Linux-Distributionen und folgen Sie den Anweisungen des Paketmanagers für eine schnelle und einfache Installation.
Registrieren Sie sich für Neuigkeiten, Tipps und mehr