Die einzige Voraussetzung, die Sie für die Nutzung eines Fernzugriffs auf Ihren Linux-Server benötigen, ist eine stabile Internet-Verbindung. Alle für den Fernzugriff erforderlichen Tools gibt es kostenlos und das Know-How liefert PC-WELT mit diesem Artikel.
Überlegungen und Strategie für den Fernzugriff
Der eigene Server darf natürlich nicht komplett offen sein, denn nur Sie sollen Zugriff darauf bekommen. Außerdem ist es von großem Vorteil in Sachen Sicherheit, wenn der Zugriff und die Übertragung der Daten zwischen Ihrem Client und dem Server verschlüsselt über die Bühne gehen. Andererseits sollte sich der Server so bequem wie möglich erreichen lassen. Wir brauchen also eine Lösung, die einfachen Zugriff mit maximaler Sicherheit gewährleistet.
Weiterhin brauchen wir eine Lösung, damit wir den Server überhaupt erreichen. Da es sich um einen Heim-Server handelt, werden die wenigsten Anwender einen Internet-Anschluss mit einer festen IP-Adresse besitzen. Wenn doch haben Sie schon einen großen Vorteil. Wenn nicht, gibt es andere Lösungen – wir nennen diese.
Heimserver leicht gemacht
Vorbereitung auf dem Linux-Server
Auf Linux-Servern lässt sich ein kostenloser und zuverlässiger Fernzugriff schnell und einfach mit mit Hilfe des kostenlosen OpenSSH-Servers einrichten. Das OpenSSH-Paket befindet sich in allen großen Distributionen zumindest in den Software-Repositories. Unter Ubuntu installieren Sie OpenSSH-Server via Software Center, Synaptic oder einfach mittels Kommandozeile: sudo apt-get install openssh-server. Der OpenSSH-Server läuft dann auf Ihrem Serversystem zusätzlich neben dessen eigentlicher Serversoftware, also beispielsweise neben dem Apache samt dessen eventuell vorhandenen Datenbanken und Skriptsprachen, wenn es sich um einen Webserver handelt.
Zugriff auf den OpenSSH-Server testen

In der Regel startet der OpenSSH-Server nach einer Installation selbständig und öffnet auch den entsprechenden Firewall-Standard-Port 22. Ob der Server gestartet ist, können Sie zum Beispiel mit dem Befehl /etc/init.d/ssh status oder unter neueren Ubuntu-Versionen via sudo service ssh status abfragen. Ebenso könnten Sie direkt vom Server eine ssh-Verbindung auf den Server versuchen. Meldet sich dieser mit einer Zeile „ECDSA fingerprint …“ und fordert Sie zu einer Bestätigung auf, läuft OpenSSH. Nehmen wir an, der Server hat die lokale Netzwerk-Adresse 192.168.0.1 dann tippen Sie in einem Terminalfenster folgendes ein: ssh 192.168.0.1
Firewall gegebenenfalls konfigurieren

Als nächsten Schritt müssen Sie sicherstellen, dass die Firewall einen Zugriff auf Port 22 erlaubt. Dieser Test ist ebenfalls einfach. Laden Sie sich für Windows zum Beispiel den FTP-Client Filezilla herunter und richten eine Verbindung auf 192.168.0.1 via SSH ein. Auch hier sollten Sie wieder eine Bestätigung bekommen, ob Sie diese Verbindung wirklich zulassen möchten. Ist dies der Fall, ist die Firewall richtig konfiguriert. Andernfalls müssen Sie Port 22 auf dem Server in dessen Firewalleinstellungen zunächst freigeben. Unter Ubuntu würde das zum Beispiel mittels ufw allow 22 funktionieren. Mit iptables würde der Befehl auf einem Linux-System so aussehen: iptables -A INPUT -p tcp -m tcp –destination-port 22 -j ACCEPT










Möchten Sie den ssh-Server auf einem anderen Port lauschen lassen, stellen Sie das in der Regel in der Datei /etc/ssh/ssh_config ein. Dort gibt es eine auskommentierte Zeile # Port 22. Ist hier nichts anderes hinterlegt, horcht OpenSSH auf Port 22. Wenn Sie das Kommentarzeichen (#) entfernen und einen anderen Port hinterlegen, müssen Sie aber den SSH-Daemon neu starten: sudo service ssh restart oder /etc/init.d/ssh restart.
Den Router richtig einstellen
Als nächsten Schritt müssen wir dem Router mitteilen, dass er sämtlichen von außen kommenden Verkehr auf den SSH-Port umleiten soll. Hier kommt es ein bisschen auf den Router an, aber Sie sollten diese Einstellung irgendwo unter Port Forwarding finden. Sie sollten eine entsprechende Anleitung in Ihrem Router-Handbuch finden. Für netgear-Router funktioniert es zum Beispiel wie in dieser Anleitung (PDF) . Dieses Prinzip sollte für 90 Prozent aller Router sehr ähnlich sein.
Abstrakt gesagt müssen Sie den Datenverkehr, der von außen via Port 22 kommt auf den eigenen Server-Port 22 direkt umleiten. Voraussetzung ist natürlich, dass Sie die Standard-Ports verwenden.

Die eigene IP-Adresse ausfindig machen
Wer eine eigene IP-Adresse hat, ist ein wenig im Vorteil. Allerdings haben die meisten modernen Router dynamische IP-Dienste, wie zum Beispiel dyndns.org oder no-ip.com bereits integriert. Mit diesen Diensten meldet der Router die vom Provider zugewiesene IP-Adresse an den dynamischen Dienst und Sie können ihren Rechner dann mit zum Beispiel mein-toller-server.no-ip-info ansprechen. Dies ist natürlich sehr komfortabel und Sie müssen sich nur eine Adresse merken. Sobald Sie Ihre Adresse wissen, können Sie nun Ihren Server von außen erreichen.
Wenn Sie einen solchen Dienst nicht nutzen möchten oder der Router tatsächlich keinen der dynamischen IP-Dienste unterstützt, ist etwas Bastelarbeit gefragt. Zunächst müssen wir die externe IP-Adresse des Routers herausfinden. Sehr einfach geht das über den Dienst bitblokes.de/ip/, weil der nur die IP-Adresse zurückliefert. Sie müssen also nicht weiter parsen. Was Sie für diese „Proof of Concept“-Methode allerdings brauchen ist ein Speicherplatz im Web, den Sie via FTP ansprechen können. Und ein Tool zum Übertragen der IP-Adresse – dafür nutzen wir curl.
Sollte sich curl (Client for URLs) nicht auf Ihrem Server befinden, installieren Sie diesen Dienst einfach nach. Er sollte sich in den meisten Repositories befinden: apt-get install curl. Nun brauchen Sie nur noch ein kleines Script, dass via ftp und cronjob eine Datei auf den FTP-Server hochlädt, die die IP-Adresse beinhaltet. Öffnen Sie einen Texteditor und tippen Sie folgendes exakt so ein:
#!/bin/bash
MYIP=`/usr/bin/curl http://bitblokes.de/ip/ > /
ftp -n -v $HOST /eigene-adresse.txt
Speichern Sie dieses Script nun zum Beispiel unter /home/
0 */1 * * * /bin/sh /home/
Übrigens wird ein Test vom internen Netzwerk auf den externen Zugriff fehlschlagen. Für einen Test brauchen Sie eine zweite Internet-Verbindung.
Mit Windows eine Verbindung von außen realisieren
Wie bereits erwähnt ist eine Möglichkeit Filezilla zu verwenden. WinSCP ist eine weitere Option. Die beiden Pakete sind relativ komfortabel zu bedienen und Sie können so auf den Server zugreifen, wenn Sie Daten benötigen. Ein Nachteil ist aber, dass Sie die Daten zunächst transferieren müssen und nicht direkt auf dem Server arbeiten können.
Eleganter ist es, das Laufwerk einzubinden. Das können Sie zum Beispiel mittels Dokan SSHFS (via FUSE für WIndows) realisieren. Was auf der Webseite nicht ganz klar hervorgeht, ist, dass die Version 0.2.0 nicht unter Windows 7 64-Bit funktioniert. Man ist geneigt, diese Version zu installieren, weil Ausgabe 0.6.0 laut Aussage des Entwicklers bestimmte Funktionen nicht enthält. Es gibt ein paar Lösungsvorschläge, aber die funktionieren laut Aussagen von Anwendern nicht zufriedenstellend. Man müsste 0.2.0 zwingen als 32-Bit-Software ausgeführt zu werden. Allerdings berichten Nutzer von Problemen wie zum Beispiel Timeouts. Version 0.6.0 funktioniert unter Windows 7 64-Bit allerdings tadellos.
Sie geben die Server-Adresse ein, hinterlegen Benutzernamen und Passwort, das Startverzeichnis auf dem Server und legen das designierte Windows-Laufwerk fest. Danach bindet ein Knopfdruck das SSH-Verzeichnis ein und sie können es wie ein Laufwerk behandeln. Wie performant die Geschichte ist, hängt natürlich ein bisschen von der verwendeten Internet-Verbindung ab.