Der Raspberry Pi als Heimserver

Der Raspberry Pi soll so eingerichtet werden, dass man von Außerhalb verschlüsselt per ssh darauf zugreifen kann. Dadurch kann man auf Dateien zugreifen, die entweder auf der SD-Karte des Raspberry Pi liegen oder auf einer angeschlossenen Festplatte oder auf einer Netzwerkfreigabe irgendwo im Netz zu Hause. Der Pi übernimmt somit die Aufgabe eines NAS-Servers. Die Abbildung unten zeigt das Ergebnis schematisch.
Des Weiteren soll eine automatische Synchronisation per rsync von einer gemountet Festplatte auf einen Rechner im Internet eingerichtet werden.

Raspberry Pi als ssh Server

Vorbereitungen

Rechnernamen ändern

Mit

sudo nano /etc/hostname

die Datei /etc/hostname öffnen, den neuen Namen eingeben und mit STRG+O speichern.
Die Datei /etc/hosts mit

sudo nano /etc/hosts

öffnen und den alten Rechnernamen (standardmäßig raspberrypi) durch den Neuen ersetzten und ebenfalls speichern.

Danach mit

sudo hostname -F /etc/hostname 

den neuen Rechnernamen aktivieren.1)
Danach müsste der Befehl

hostname

der neue Name anzeigen.

Passwort ändern

Um das Passwort des Standard-Benutzers pi zu ändern, gibt man auf der Konsole

sudo passwd pi

ein. Danach wird man aufgefordert das neue Passwort einzugeben.
Wie man auch den Benutzernamen ändert, wird auf dieser Seite erklärt.

Desktop deaktivieren

Den Desktop wird man wahrscheinlich nicht brauchen, und um Ressourcen zu sparen, sollte man in deaktivieren. Über den Befehl

sudo raspi-config

gelangt man in das Konfigurationsmenü. Unter Punkt 3 Enable Boot to Desktop kann man den automatischen Start des Desktops deaktivieren. Wer den Desktop vollständig entfernen möchte, findet hier eine Anleitung.

Portweiterleitung einrichten

Portweiterleitung auf einer EasyBox 802 einrichtenDamit eine Anfrage aus dem Internet auf einen Port des Routers automatisch an den Raspberry Pi weitergeleitet wird, muss man eine Portweiterleitung einrichten. Diese ist von Router zu Router unterschiedlich. Die Abbildung rechts zeigt die Einstellung in einer EasyBox 802 (vodafon). Man findet die Seite über Daten → NAT → Portmapping:

Hier wird aus Sicherheitsgründen Port 22222 als öffentlicher Port angegeben und nicht der Standardport 22. Dann kann man unter Angabe des Ports und der öffentlichen IP (im Beispiel unten 63.84.125.23) von jedem Rechner im Internet auf den Raspberry Pi zugreifen. Auf einem Linuxrechner geht das mit:

ssh pi@63.84.125.23 -p22222

Unter Windows kann man z. B. PuTTY verwenden.

Man kann unter Linux auch über die grafische Oberfläche via ssh auf einen Rechner zugreifen. Somit kann man dann Dateien einfach hin und her schieben. Im Nautilus-Dateimanager (Ubuntu) wechselt man mit STRG+L in die Direkteingabe und gibt

ssh pi@63.84.125.23:22222

ein.

Unter Windows gibt es mit winscp ebenfalls eine grafische Oberfläche.

Öffentliche IP herausfinden

Die öffentliche IP-Adresse seines Routers wird meistens auf der Startseite der Routerkonfiguration angezeigt. Man kann sie aber auch über die Internetseite http://www.monip.org herausfinden.

Hat man den textbasierten Browser w3m auf dem raspberry installiert kann man die IP-Adresse auch mit dem Befehl

w3m -dump http://www.monip.org/ | awk -F': ' '/IP/ { print $2 }'

herausfinden2).

Es muss angemerkt werden, dass sich die öffentliche IP-Adresse von Zeit zu Zeit ändert, man muss also regelmäßig die öffentliche IP-Adresse nachschauen. Diesen Nachteil kann man mit Hilfe vom dynamischen DNS umgehen, dies wird hier erklärt.

Speicher einbinden

USB-Festplatten

Meistens reicht die SD-Karte des Raspberry Pi nicht aus, wenn man diesen als Backupserver betreiben möchte. Die einfachste Möglichkeit ist ein Anschluss einer USB-Festplatte. Wie man diese einbindet, wird in den Artikeln

und

beschrieben.

Will man diesen Speicherplatz wieder freigeben, so nutzt man entweder Samba damit Windowsclients darauf zugreifen können, oder NFS3), damit Linuxclients darauf zugreifen oder netatalk damit MAC-Clients darauf zugreifen können. Wie man diese Dienste einrichtet, ist auf dieser Seite ausführlich erklärt.

Freigaben von anderen Rechnern im lokalen Netzwerk einbinden

Zunächst muss man auf einem anderen Rechner eine Freigabe machen. Unter Linux nutzt man dazu üblicherweise NFS, unter Windows die eingebaute Funktionalität, ebenso auf einem MAC.

Auf dem Raspberry Pi kann man diese Freigaben nun einbinden. Am Besten nutzt man dazu autofs, dieses bindet die Freigaben automatisch ein, wenn darauf zugegriffen wird.

sudo apt-get install autofs

Die Konfiguration wird sehr ausführlich im Artikel autofs beschrieben. Das folgende Beispiel gibt nur einen kleinen Überblick, wie man eine NFS-Freigabe einbindet.

Zunächst legt man eine MAP-Datei an

sudo nano /etc/auto.network

und gibt den Ordnernamen ein, unter dem die Freigabe eingebunden werden soll (hier adams), die Freigabeoptionen und den Freigabepfad

adams -fstype=nfs,ro,retry=0 10.0.2.42:/home/adams

Wenn man einen DNS-Server betreibt oder die /etc/hosts-Datei editiert hat, kann man statt der IP-Adresse auch den Rechnernamen nutzen.

Danach öffnet man die Master-Map-Datei

sudo nano /etc/auto.master

und gibt an, an welchem Ort im Dateisystem die Freigabe aus der oben eingerichtet Map-Datei eingebunden werden soll:

/mnt   /etc/auto.network --ghost

Danach startet man autofs neu

sudo service autofs restart

Nun sollte man unter /mnt/adams/ die Dateien der Freigabe /home/adams des Rechners 10.0.2.42 finden.

Dateien synchronisieren

Will man nun eine Sicherung durchführen von der Freigabe auf eine USB-Festplatte, die am Raspberry Pi angeschlossen ist, kann dafür das Programm rsync verwenden:

sudp apt-get install rsync

Mit diesem ist es möglich, Dateien zu vergleichen und sie bei Änderung auszutauschen. Dieser Artikel zeigt wie man rsync benutzt. rsync kann Dateien nur in eine Richtung synchronisieren, also z. B. von der Freigabe zur Festplatte aber nicht andersherum.

Will man Dateien immer auf dem neusten Stand halten, also in beide Richtungen synchronisieren, so muss man Unison verwenden.

1) Um im Terminal den richtigen Namen angezeigt zu bekommen, muss man sich einmal ausloggen und wieder einloggen.
3) Es sein noch angemerkt, dass man auf dem Raspberry Pi den Dienst rpcbind starten muss, damit NFS läuft. Dies geht mit
sudo service rpcbind start

Diskussion

Geben Sie Ihren Kommentar ein. Wiki-Syntax ist zugelassen:
94᠎ -4 = ?
 
 
raspberrypi/sshserver.txt · Zuletzt geändert: 2013/11/06 19:58 von admin