Zurück zur Beitragsübersicht

Mit AnyDesk via TCP-Tunneling auf entfernte Dateien lokal zugreifen

Mann vor PC

Wie Sie den Netzwerkordner eines Remote-Geräts über einen AnyDesk TCP-Tunnel einbinden

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.

Eine SSH-Verbindung über einen AnyDesk TCP-Tunnel herstellen

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.

AnyDesk Menü zum Start des TCP Tunneling Setups

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:

Setup TCP Tunnel
Setup für TCP Tunneling

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.

Die SSH-Verbindung testen

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.

Auf den Zielordner zugreifen

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.

Befehle automatisieren

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.

Mount Script
Script im TCP Tunneling Menü wählen

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:

Terminator Terminal Emulator
Terminator Terminal Emulator

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

Auf interne Web-Ressourcen zugreifen

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.

Fazit

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