Fernzugriff via ssh ueber einen FritzBox Router

Dieser Text beschreibt, wie man fuer einen Rechner unter Linux einen Fernzugriff erlauben kann. Dabei wird in dieser Beschreibung davon ausgegangen, dass das lokale Netwerk (LAN) über eine FritzBox (Router) an das Internet angeschlossen ist. Ausserdem muss auf dem Rechner, der den Fernzugriff erlauben soll, ein ssh-server installiert sein (die Installation ist sehr einfach - siehe unten).

Ansonsten muessen zwei Dinge gemacht werden:

Softwarevoraussetzungen

Der Linux Rechner muss ueber ssh (secure shell) erreichbar sein. Dazu muss ein ssh-server installiert sein. Zum Installieren des SSH-Servers gibt man an der Konsole folgenden Befehl eingeben:

  # Zeile mit Copy and Paste einfach in die Konsole uebertragen. 
  #
  sudo  apt-get  install  openssh-server 

Diese Programm gehoert bei ubuntu nicht zur Standardinstallaion. Mit dem kleinen Befehl oben ist die Sache aber erledigt. Darueber hinaus ist der SSH-Server noch fuer andere Programme nuetzlichlich - beispielsweise Datensicherung mit rsync zwischen zwei Rechnern!!!

Lokalen Rechnernamen und lokale IP Adresse ermitteln

Vermutlich gibt es mehrere Rechner in deinem Netzwerk zuhause. Um die FritzBox richtig konfigurieren zu koennen, muessen wir deinen Rechner im lokalen Netz eindeutig indentifizieren. Dazu fragen wir deinen Rechner mit dem Konsolenprogramm "hostname" was er ueber sich selbst weiss ....

  # Anmerk: die folgenden Zeilen koennen einfach mit Copy and Paste 
  # auf die Konsole uebertragen werden. Natuerlich koennen wir aber die 
  # Befehle "hostname -[s|I]" auch per Hand eintippen ... 
  # 
  hostname  -I     # Ermitteln aller IP-Adressen deiner Rechners
  hostname  -s     # Ermitteln des short host name deines Rechners

Die IP-Adresse (also "hostname -I") ist im Zweifel die bessere Angabe. Was den Rechnernamen angeht, koennen FritzBox und der Rechner schonmal unterschiedlicher Meinung sein. Die mit dem hostname Befehl oben ermittelten Daten gleichen wir mit denen der FritzBox ab:

FritzBox Klick auf "Startmenue" oben; link auf "Netzwerk". In diesem Beispiel sieht man zwei Rechner denen die Fritzbox je einen Namen und eine IP-Adresse zugeordnet hat. Einer dieser Rechner ist der, an dem Du arbeitest und an dem du warscheinlich den Fernzugriff erlauben willst.
Anmerk.: im Bild oben heisst ein Rechner "MEIN_AXIS" - das ist ein Scannserver der Fa. AXIS. Der Rechner mit der IP-Adresse 192.168.178.55 ist der Gesuchte.

Nach dem Abgleich sollten wir den gewuenchten Rechner sicher an der FrizBox identifizieren koennen. Sonst macht weiterarbeiten keinen Sinn!

Fernzugriff an der FritzBox eintragen

Nachdem wir unseren Rechner auf der FritzBox identifizieren koennen, machen wir uns an die Konfigruation der FritzBox

FritzBox Um die Einstellungen vorzunehmen klicken wir oben etwa in der Mitte des Bildschirms auf "Einstellungen" und dann im linken Menue den Punkt "Erweiterte Einstellungen" (gelb unterlegt) ...

Wir suchen die Seite mit der Tabelle, in der die "Freigaben" eingestellt werden. In der Tabelle stellt FritzBox alle eingestellten Freigaben dar. Wahrscheinlich ist noch keine Freigabe eingetragen (wie im Bild). Die Tabelle ist also leer. Es koennen aber natuerlich auch schon andere Freigaben gemacht sein. Wenn man mehr mit Freigaben spielt sollte man sich die Seite merken!

FritzBox ... unterhalb von "Erweiterte Einstellungen" klicken wir auf "Internet" und unterhalb von "Internet" dann wiederum auf "Freigeben" (gelb unterlegt). In dem obigen Bild ist eine FritzBox dargestellt, an der noch keine Freigabe vorgenommen ist. Wir klicken auf "Neue Portfreigabe" (siehe Mauszeiger) ...

Wenn man zuhause einen WWW-Server betreiben moechte, muss man eine Freigabe fuer einen HTTP-Server einrichten. Weil das warscheinlich die haeufigste Art der Freigabe ist, hat der Hersteller diese Einstellung bereits vorgegeben. Da wir aber etwas anderes Freigeben moechten, waehlen wir "Andere Anwendungen".

FritzBox ... bei dem Eingabefeld "Portfreigabe fuer" ist "Http-Server" voreingestellt. Da wir keine der Vorsteinstellungen benutzen koennen waehlen wir "Andere Anwendungen" (mit Maus blau markierter Auswahlpunkt) ...

Wenn man "Andere Anwendungen" waehlt, kann man genau festlegen, was man Freigeben möchte. Secure Shell (ssh) lauft ueber Port 22. Deshalb leiten wir von Aussen am Port 22 ankommende Anfragen an unsern gewaehlten Rechen weiter. Bei der Weitergabe koennte die Fritzbox die Daten auf einen anderen Port umleiten - wir wollen der Einfachheit halber aber, das es Port 22 bleibt. Als Protokoll waehlen wir TCP. Ansonsten alles so einstellen, wie in der Grafik vorgegeben.

FritzBox ... Wenn wir "Andere Anwendungen" gewaehlt haben, erscheint eine etwas umfangreicher Maske die wir, bis auf den Rechnernamen der natuerlich in userem Netz etwas anderes sein wird, wie oben ausfuellen muessen.

Das war bereits die ganze Konfiguration! Nun koennen wir mit dem Verbingungsaufbau loslegen.

Verbindungsaufbau des Fernzugriffs

Den Fernzugriff bauen wir mit dem Programm ssh (secure shell) auf. Als Parameter übergeben wir ein -X. Das -X bewirkt, das wir beim Verbindungsaufbau Daten uebertragen, die es dem entfernten Rechner erlauben, grafische Ausgaben auf unseren Bildschirm auszufuehren. Dadurch ist es beispielsweise moeglich, auf dem entfernten Rechner Programme wie ooffice, firefox, gimp, xclock usw. zu starten.

Hinter dem -X geben wir Username und "Rechneradresse" getrennt durch ein "@" an. Also dieselbe Schreibweise, wie man sie von E-Mail Adressen kennt. Der Username sollte bekannt sein ... z.B. einfach der Name, unter dem du dich gewoehnlich anmeldest. Oben wurde "Rechneradresse" in Anfuehrungszeichen gesetzt. Das geschah mit Absicht. Als Rechneradresse muessen wir die IP-Adresse der FritzBox nehmen mit der sie sich im Internet meldet (nicht die Adresse die der Rechner selbst hat). Da diese WWW-Seite die Adresse der FritzBox gut sehen kann, steht im folgenden Beispiel die IP-Adresse korrekt drin (weiter unten ist beschrieben, wie man die IP-Adresse im Alltag erfahren kann).

  # Folgender Befehl in der Kommandoaufforderung stellt den Fernzugriff her. 
  # Anmerk.: da diese WWW-Seite deine IP-Adr. kennt 
  # ist sie in dem Bsp. hier drunter auch richtig eingetragen
  #
  ssh   -X   mein_login_name@ 
  #
  # (nach korrekter Passwordeingabe  kann auf dem entfernten Rechner normal 
  # gearbeitet werden)

Im Folgenden ist ein Verbindungsaufbau dargestellt.

FritzBox Aufbau eines Fernzugriffs mit ssh (zu meiner Schande muss ich gestehen, das ich viele Systemupdates ausgelassen habe wie man beim Einloggen sieht). Ich habe den Username "user02" verwendet. Den musst du natuerlich aendern. Die IP-Adr. in dem Bild musst du nat. auch aendern.

Es mag ein wenig befremdlich sein, das wir für den Test nicht das Haus verlassen haben. Wir koennen das durchaus alles am selben Rechner testen. In unserem Beispiel spricht der Rechner mit sich selbst und der Kommunikationsweg geht einmal nach draussen ...

Kleiner Tipp fuer den Start graischer Programme innerhalb einer Konsole

Am besten startet man grafische Programme von der Konsole immer mit einem vorangestellten "nohup" und einem abschliessenden "&". Das "nohup" (fuer No Hangup) bedeutet, das beim Schliessen der Kosnole der Kindprozess (also unser Grafikprogramm) nicht zur Beendigung gezwungen wird. Und das "&" bedeutet, dass die Konsole nicht auf das Ende des Grafikprogramms wartet und fuer weitere Eingaben bereit ist. Beides ist generell bei Grafikprogrammaufrufen eine gute Uebung. In unserem Fall wirkt das "nohup" allerdings nicht da beim Schliessen der Konsole der gesamte ssh-Kanal geschloessen wird ...

Befehle sehen also beispiesweise so aus:

   # Open Office aufrufen 
   nohup  ooffice  &

   # Firefox aufrufen 
   nohup  firefox  & 

Wo finde ich die IP-Adresse, mit der meine Fritzbox im Internet sichtbar ist?

Wenn nun eine dritte Person auf unseren ausgewaehlten Rechner zugreifen soll, muessen wir ihr Username, Password und die IP-Adresse der FritzBox mitteilen (die sich oft aendert!!!).

Die aktuelle IP-Adr. deiner Fritzbox lautet:

Notfalls nehmen wir also diese WWW-Seite. Wir koennen aber beispielsweise auch die FritzBox fragen.

FritzBox Auf der Seite zu erkennen ist, das die FritzBox z.Zt. die IP-Adr. 94.219.221.77 hat. Die Seite finden wir, indem wir auf "Einstellungen" (oben mitte) und anschliessend auf "Internet" klicken.
Anmerkung: der oben abgebildeten FritzBox wird von dyndns.org eine dynamische IP Adresse zugeordent und die Fernwartung (gemeint ist die Fernwartung der FritzBox, nicht der Fernzugriff auf einen Rechner mit dem sich dieser Artikel beschaeftigt) ist eingeschaltet. Dadurch ist eine sehr bequeme Wartung von aussen moeglich. Die Technik meines Erachtes auch sicher! Da die entsprechnden Daten hier aber nicht von Bedeutung sind, habe ich sie aus der Grafik trotzdem "weggepinselt" obwohl im Prinzip kein Sicherheitsrisiko besteht.

Wie und wo habe ich ueberblick ueber die Freigaben der FritzBox

Man sollte generell gut informiert sein, ob Freigaben eingerichtet bzw. eingeschaltet sind. Hier wird beschrieben, wo ich es auf anhieb sehe.

FritzBox In diesem Uebersichtsbildschrim, den wir schon vom Ermitteln der der Daten des lokalen Rechners kennen, kann man in der Tabellenspalte "Eigenschaften" sehr gut erkennen, das fuer den Rechner PC-192-168-178-55 ein Freigabe eingerichtet ist (siehe Mauszeiger).

Ein- und Ausschalten bereits festgelegter Freigaben an der FritzBox

Das beschriebene Verfahren ist sicher! Allerdings haben wir ev. einer dritten Person (also der Person, der wir temporaer Rechte auf unseren Rechner gegeben haben um ihn beispielsweise zu warten) moeglicherweise Daten fuer den Rechnerzugriff gegeben (Userid und Password). Damit diese Personen nicht staendig in unserem Netz herumspielen koennen sollten wir den Fernzugriff (die Portfreigabe) generell abschalten und nur einschalten, wenn expliziet Bedarf besteht.

Das Ein und Ausschalten kann wie in der Abb. gezeigt vorgenommen werden. Oben ist bereits beschrieben, wie wir zu den Bildschirm kommen.

FritzBox In diesem Bildschirm, den wir bei der Einrichtigung der Freigabe bereits kennen gelernt haben, kann man die Freigabe mit einem Klick aktivieren und deaktivieren ohne die gesamte Kontigurtation jeweils neu eintippen zu muessen (siehe Mauszeiger im Bild).