Login
Newsletter
Werbung

Mi, 3. März 2010, 19:00

BackupPC als Backupserver im Heimnetzwerk

Einrichten der Verbindung zu Client-PCs

Für die Linux-Clients sind noch weitere Schritte notwendig. Als Nächstes benötigt man ein Private/Public-Key-Paar auf dem BackupPC-Server. Dies muss als Benutzer backuppc ausgeführt werden. In einem Terminal-Fenster sind folgende Befehle nötig:

su backuppc
ssh-keygen -t rsa

Bei diesem Vorgang erscheinen folgende Ausgaben bzw. Abfragen:

Generating public/private rsa key pair.
Enter file in which to save the key (/var/lib/backuppc/.ssh/id_rsa): <-- <ENTER>
Created directory »/var/lib/backuppc/.ssh«.
Enter passphrase (empty for no passphrase): <-- <ENTER>
Enter same passphrase again: <-- <ENTER>
Your identification has been saved in /var/lib/backuppc/.ssh/id_rsa.
Your public key has been saved in /var/lib/backuppc/.ssh/id_rsa.pub.
The key fingerprint is:
74:20:65:73:47:1c:cb:ba:5d:9b:5d:56:cf:91:1a:1a backuppc@192.168.134.59

Diesen öffentlichen Schlüssel kopiert man in eine Datei mit neuem Namen:

cp ~/.ssh/id_rsa.pub ~/.ssh/BackupPC_id_rsa.pub

Aktivierung der Client-PCs

Der Windows-PC kann über die administrative Freigabe C$ gesichert werden, und wenn dies so umgesetzt wird, benötigt es keine weiteren Arbeiten - es ist keine clientseitige Konfiguration nötig, außer eventuell die Windows-Firewall.

Es können auf dem Windows-PC aber auch eine individuelle Freigabe (oder mehrere Freigaben) angelegt und ein Benutzer für deren Zugriff festgelegt werden. Falls diese Variante bevorzugt wird, müssen auf dem Backup-Server die Freigaben und der Benutzeraccount für den Zugriff bekannt gemacht werden.

Was die Linux-Clients angeht, sind weitere Maßnahmen nötig, da diese Zugriffe aus dem Netz nicht so ohne weiteres zulassen. Die Rsync-Sicherung wird durch SSH geleitet. Die Sicherung läuft als Benutzer backuppc, daher muss dieser Benutzer in der Lage sein, sich auf den Linux-Client-PCs als root einzuloggen, ohne nach einem Passwort gefragt zu werden. Daher muss man die Public-Keys austauschen, um passwortlose Logins für backuppc zuzulassen.

Für jeden Ubuntu-Linux-Client müssen nun noch weitere Schritte, wie die Einrichtung eines Root-Logins und Installation besonderer Software, in einem Terminal durchgeführt werden.

Einrichtung des Root-Logins

Man braucht ein Root-Login, falls dieses nicht bereits existiert, wie zum Beispiel unter Ubuntu. Also richtet man zuerst den Benutzer root durch folgenden Befehl ein.

sudo passwd root

Anschließend wechselt man zum Benutzer root und fährt mit Root-Rechten fort.

su

Hinweis: Da man nun bereits als root eingeloggt ist, ist (bei Ubuntu) kein sudo mehr vor den Befehlen zu platzieren, die mit Root-Rechten ausgeführt werden müssen.

Installation clientseitiger Software

Auf den Client-PCs werden noch die Softwarepakete rsync, ssh und der openssh-server benötigt - so lauten jedenfalls deren Namen auf einem Ubuntu 9.04. Auf anderen Linux-Systemen sollten sie einen ähnlichen Namen besitzen und über die jeweilige Paketverwaltung der benutzten Distribution zu installieren sein.

Verschlüsselung erzeugen

Für das Einrichten des SSH-Tunnels benötigt man ein Private/Public-Key-Paar:

ssh-keygen -t rsa

Bei diesem Vorgang erscheinen ähnliche Ausgaben bzw. Abfragen wie oben unter »Einrichten der Verbindung zu Client-PCs« und die Abfragen sind genauso zu behandeln.

Namensauflösung einrichten

Wenn kein DNS-Server im Netz existiert, muss ein Hosts-Eintrag für den BackupPC-Server in der Datei /etc/hosts hinzufügt werden. Also editiert man die Datei /etc/hosts mit einem Editor der Wahl und ändert die Zeilen wie folgt:

127.0.0.1 localhost
192.168.134.59 BackupPCServer

Natürlich ist die IP-Adresse des BackupPC-Servers dem eigenen Netzwerk anzupassen.

SSH-Schlüssel auf den Client-PC kopieren

Nun kann der SSH-Schlüssel vom BackupPC-Server geholt werden - dazu führt man im Terminal auf dem Client-PC folgenden Befehl aus:

scp backuppc@192.168.134.59:/var/lib/backuppc/.ssh/BackupPC_id_rsa.pub /root/.ssh

Dabei wird darauf hingewiesen, dass die Authentizität des Hosts nicht verifiziert werden kann:

The authenticity of host '192.168.134.59 (192.168.134.59)' can't be established.

Natürlich will man dennoch zu dem Rechner verbinden und muss dann das Passwort eingeben, welches man zuvor eingerichtet hat.

SSH-Schlüssel auf Client-PC einrichten

Als nächstes wird der Public-Key von Backuppc in ~/.ssh/authorized_keys2 auf dem Linux-Client angefügt:

cat /root/.ssh/BackupPC_id_rsa.pub >> /root/.ssh/authorized_keys2

SSH-Zugriff absichern

Anschließend wird die IP-Adresse des BackupPC-Servers hinzugefügt. Ziel dieser Aktion ist es, dass ausschließlich von dieser IP-Adresse aus ein Zugriff möglich ist. Also editiert man die /root/.ssh/authorized_keys2 mit dem Editor der Wahl und fügt folgende Zeile ein:

from="192.168.134.59" ssh-rsa AAAAB3[...]FMZ......

SSH-Schlüssel auf Backup-Server kopieren

Nun wird der SSH-Schlüssel des Client-PCs auf den BackupPC-Server kopiert. Dazu öffnet man ein Terminal auf dem Client-PC und führt danach folgenden Befehl aus:

scp /root/.ssh/id_rsa.pub backuppc@192.168.134.59:/var/lib/backuppc/.ssh/ClientName_id_rsa.pub

Damit auf dem BackupPC-Server die verschiedenen öffentlichen Schlüssel der eingerichteten PCs sauber auseinandergehalten werden können, empfiehlt es sich hier, bei diesem Kopiervorgang den Dateinamen zu ändern, und zwar von id_rsa.pub auf den Namen des Client-PCs, z.B. ArbeitsPlatz1_id_rsa.pub oder 192.168.134.10_id_rsa.pub.

Abschließend beendet man die Terminalsitzung. Damit schließt man die Arbeiten auf diesem Client-PC ab und kann sich den nächsten Client-PC vornehmen, erneut beginnend bei »Einrichten des Root-Logins«.

Abschluss und Tests

Zum Schluss müssen auf dem BackupPC-Server die SSH-Schlüssel der Clients zu der Datei known_hosts hinzugefügt werden. Dazu öffnet man ein Terminal, wechselt zunächst zum Benutzer backuppc und setzt dann folgenden Befehl ab:

cat ~/.ssh/ClientPC_idrsa.pub >> ~/.ssh/known_hosts

Diesen Befehl wiederholt man für jeden Client-PC und beendet am Ende die Terminalsitzung wieder.

Nun wechselt man zu einem Webbrowser und betrachtet über das Webinterface von BackupPC (http://localhost/backuppc) die Lage: Dort angekommen wechselt man zur Computerübersicht. Jeweils zur vollen Stunde prüft der Dienst von BackupPC, ob ein PC im Netz verfügbar ist und beginnt automatisch ein Backup (entweder eine Vollsicherung oder eine Zuwachssicherung, je nachdem wie der Status ist).

Will man nicht bis zur vollen Stunde warten, so klickt man auf einen der neu eingerichteten PCs (bzw. deren IP-Adressen) und wählt den Button Starte vollständiges Backup. Diese Wahl muss bestätigt werden, damit der Vorgang wirklich startet.

Erscheint in der Computerübersicht für einen bestimmten Computer eine Fehlermeldung in der Form Backup Fehler (Unable to read 4 bytes), so liegt das daran, dass der SSH-Tunnel nicht aufgebaut werden kann. Möglicherweise sind zum Beispiel die Schlüssel nicht korrekt ausgetauscht worden.

Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung