Das N900 mit Online-Speicher synchronisieren
21. März 2010 von Uwe Kaminski
Ich arbeite für die Firma STRATO, die das Produkt HiDrive anbietet. Dieser Artikel repräsentiert jedoch lediglich meine Meinung als Privatperson. HiDrive ist nur ein einfach zu administrierendes Beispiel für einen rsync-Server von vielen.
Wie inzwischen den meisten bekannt sein dürfte, ist das aktuelle Internet Tablet von Nokia mit jeder Menge Speicher ausgestattet. Neben den 32 GB die fest eingebaut sind, kann man den Speicher per MicroSD-Karte nochmal um 16 GB erweitern. Das reicht eigentlich für jede Menge Multimediales. Dennoch kann es sinnvoll sein, auf externen Speicher zuzugreifen
- weil dort eben alle Musikstücke, Fotos und Videos gesammelt abgelegt sind und weit mehr als 48 GB belegen
- weil man den ganzen Kram auf dem N900 gern extern sichern möchte, um im Falle eines Verlustes oder Defektes darauf zugreifen zu können
- weil es Daten (Bilder und Videos, gemacht mit der eingebauten Kamera) gibt, die nicht nur auf dem N900 direkt betrachtet werden wollen
Bisher hatte ich für diese Dinge ein kleines Network Attached Storage (NAS) im Wohnzimmer stehen. Genauer gesagt: Die Synology 107e. Diese kleine Kiste beherbergt nun aber lediglich eine Festplatte und bietet keinerlei Redundanz, weshalb es auch hier schön wäre, die Daten “irgendwohin” zu replizieren.
Dieses “Irgendwo” heißt für mich jetzt HiDrive. Das hat sich die mein Brötchengeber, die Firma STRATO, ausgedacht und genau an diesem Produkt als Beispiel möchte ich auch Erklären was möglich ist. Natürlich kann man auch einen eigenen Server nutzen oder auf alternative Anbieter zurückgreifen.
Wichtig ist mir, dass der Zugriff auf den Online-Speicher verschlüsselt erfolgt. Ob die Daten auf der Online-Festplatte ebenfalls verschlüsselt, also zum Beispiel in TrueCrypt-Containern abgelegt werden müssen, sollte jeder für sich entscheiden. Mir genügt es, die Daten verschlüsselt zu übertragen aber unverschlüsselt zu speichern.
Einmal rsync und zurück
Geradezu fantastisch sind die Möglichkeiten, wenn man rsync zum Sichern ganzer Verzeichnisse (samt Unterverzeichnissen) nutzen möchte. Per rsync werden die Inhalte eines Quellordners in einen Zielordner übertragen. Dabei wird immer nur kopiert, was sich noch nicht im Zielordner befindet. Änderungen an den Dateien im Quellordner werden erkannt und berücksichtigt. Um vollständige Gleichheit zwischen Quell und Zielordner herzustellen, kann auch eine Option verwendet werden, die alle Inhalte im Zielordner löscht, wenn sie nicht auch im Quellordner existieren.
Um automatisiert synchronisieren zu können soll ein Schlüssel erzeugt werden, mit dessen Hilfe auch automatisiert auf den Online-Speicher zugegriffen werden kann. Als grafische Benutzeroberfläche soll grsync zum Einsatz kommen, einem inzwischen hervorragend auf dem N900 zu bedienendem Programm. Abgerundet wird das Experiment durch das Programm Alarmed (Achtung! Dieses Programm ist derzeit nur in der Programmbibliothek extras-devel vorhanden und sollte mit entsprechender Vorsicht genossen werden), welches die zeit- und Intervall-gesteuerte Ausführung beliebiger Befehlszeilen erlaubt.
Zunächst gilt es, einen Schlüssel zur Verwendung mit HiDrive (oder dem externen rsync-Server) zu erstellen. Dazu muss OpenSSH installiert sein. Dazu gibt man als root ein:
apt-get install openssh
Während der Installation wird man nach einem Passwort gefragt, das den Zugriff auf das N900 per ssh ermöglicht.
Grsync und alarmed werden ebenfalls installiert:
apt-get install grsync alarmed
Dann wird man wieder normaler Benutzer:
exit
Man wechselt das Verzeichnis:
cd /home/user/.ssh
und generiert dort einen Schlüsselpaar zum Zugriff auf den Online-Speicher:
~ $ cd /home/user/.ssh ~ $ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/home/user/.ssh/id_rsa): rsynckey Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in rsynckey. Your public key has been saved in rsynckey.pub. The key fingerprint is: af:16:99:df:d7:e8:7c:f3:d1:5b:91:78:9d:6a:fb:ee user@Nokia-N900-51-1 The key's randomart image is: +--[ RSA 2048]----+ | | | | | | | . +| | So . =.| | +. o o| | o.. o +o| | ... o.+.*| | .. +*E+| +-----------------+
HiDrive als rsync-Server einrichten
Nun gilt es, den öffentlichen Schlüssel rsynckey.pub im HiDrive Konfigurationsbereich zu hinterlegen. Dafür kopiert man die Datei in den Dokumenten-Ordner:
cp rsynckey.pub /home/user/MyDocs/.documents/
Im Browser öffnet man den Konfigurationsbereich unter www.hidrive.strato.com. Dort kann nun im Tab “Einstellungen” -> “Kontenverwaltung” für einen bestehenden Account ein OpenSSH-Schlüssel hinterlegt werden, wie die folgenden Abbildungen verdeutlichen::

Auswahl eines Benutzer-Kontos zum hochaden des öffentlichen Schlüssels
Wurde der Schlüssel ausgewählt und hochgeladen, so befindet er sich anschließend in einer Liste mit verwendbaren Schlüsseln, die im Konfigurationsbereich einsehbar ist.

Der OpenSSH-Schlüssel wurde erfolgreich hochgeladen...

...und taucht nun in der Liste der authentisierten Schlüssel auf.
Ich habe sowohl im HiDrive-Ordner des Benutzers “jukey” als auch im MyDocs-Verzeichnis auf dem N900 jeweils die Ordner tablet2server und server2tablet angelegt. Auf dem N900 kann dazu der Dateimanager verwendet werden oder man gibt in xterm ein:
mkdir /home/user/MyDocs/tablet2server
mkdir /home/user/MyDocs/server3tablet
HiDrive-seitig kann man die Ordner per Weboberfläche (Ebenfalls im Konfigurationsbereich), SMB/CIFS oder auch SFTP anlegen. Ich gehe davon aus das die Ordner /users/jukey/tablet2server und /users/jukey/server2tablet heißen.
Probebetrieb in xterm
Wer nicht auf die grafische rsync-Oberfläche zurückgreifen möchte, kann auch die beiden folgenden Kommandos in xterm nutzen:
rsync -avz -e "ssh -i /home/user/.ssh/rsynckey" \ /home/user/MyDocs/sync/tablet2server/ \ jukey@rsync.hidrive.strato.com:/users/jukey/sync/tablet2server
(Die Backslashs: “\” sorgen lediglich dafür, dass die nachfolgenden Zeilenumbrüche ignoriert werden)
rsync -avz -e "ssh -i /home/user/.ssh/rsynckey" \ jukey@rsync.hidrive.strato.com:/users/jukey/sync/server2tablet \ /home/user/MyDocs/sync/server2tablet/
Komfortable Nutzung per grsync
Jetzt ruft man grsync auf und legt jeweils ein Profil zum sichern auf dem Server und ein Profil zum Ablegen auf dem Tablet an. Die Nachfolgenden Screenshots verdeutlichen, wie es geht:

GUI für rsync unter maemo5 auf dem N900: Verzeichnisse festlegen
Unter Source wird ein Pfad auf dem N900 ausgewählt, dessen Inhalt samt Unterverzeichnissen auf den Server übertragen werden soll. Danach gibt man unter zusätzlichen Optionen an, wo der Schlüssel für den Zugriff per SSH auf dem Internet Tablet zu finden ist:

GUI für rsync unter maemo5 auf dem N900: Zugriff verschlüsselt per SSH mit Hilfe eines Schlüssels
Gespeichert wird das ganze als Profil namens “tablet2storage”. Nun können beliebige Verzeichnisinhalte vom Tablet in das HiDrive-Verzeichnis “tablet2server” verschoben werden, indem dieses Profil verwendet wird. Im Hauptmenü lassen sich Quelle und Ziel auch umkehren. Ich habe dafür ein Profil storage2tablet angelegt, bei dem alle,s was online im Ordner server2tablet liegt in dem lokalen /home/user/MyDocs/sync/server2tablet Ordner landet.
Automatische, zeitgesteuerte Synchronisation im Hintergrund
Um die Synchronisation regelmäßig automatisiert anzuschieben, kann das seit kurzem verfügbare Programm “alarmed” verwendet werden. Hier können Befehle bequem zur wiederholten Ausführung hinterlegt werden. Man nimmt also die oben beschriebenen Befehlszeilen (ohne die “\”) und fügt sie unter “New Event” -> “Command execution” als Befehlszeile ein.

Intervall-basierte Kommandos ausführen - alarmed erleichtert die Konfiguration
Anschließend gilt es noch, ein Intervall für die Synchronisation zu wählen. Dabei ist es unter anderem möglich, bestimmte Tage pro Woche, den Monats-Ersten oder auch einfach täglich, stündlich oder minütlich zu synchronisieren.
Fazit
Wozu das Ganze? Ich synchronisiere zum Beispiel einmal täglich automatisiert alle Kamera-Verzeichnisse mit dem meiner Online-Festplatte. Sitze ich an einem PC oder Notebook, kann ich auf Kopien der Bilder des N900 zugreifen ohne dieses an den rechner anschließen zu müssen oder per SSH darauf zugreifen zu müssen.
Oder: Der Inhalt des eigenen Musikarchivs im Storage kann täglich aufs N900 synchronisiert werden. Auch hier kann die Musik, nachdem die CD ins mp3-Format umgewandelt wurde, am PC in den Online-Speicher übertragen werden und nach der nächsten rsync-Session kann der Ohrenschmaus auf dem N900 wiedergegeben werden.
Für welche Zwecke setzen meine Leser(innen) rsync auf dem N900 ein? Kommentare sind stets willkommen!
Technorati Tags: maemo, n900, storage, hidrive, strato, cloud, rsync, grsync, alarmed, synchornisation, howto, openssh
15 Reaktionen zu “Das N900 mit Online-Speicher synchronisieren”


Hi
ist es auch möglich ohne sync das Hidrive als Laufwerk in das N900 einzubinden und nur bei Bedarf einzelne Dateien hin und her zu schieben?
verschlüsselt wäre schön, muss aber nicht
Möglichst mit einer GUI, da meine Linux Kenntnisse sehr begrenzt sind.
Ich suche seit Wochen nach einer Lösung…
Hallo, die kurze Antwort ist “Ja”. Zum Einbinden kannst du das Programm “Wizard Mounter” verwenden, welches du mit dem Programmanager installieren kannst, wenn du extras-testing aktiviert hast. Die Zugangsdaten sind:
Profile Name: kann frei gewählt werden
Server Address: cifs.hidrive.strato.com
Remote Directory: root
Username: Wie gehabt
Password: sollte zum Username passen
Der Radio-Button muss auf “SAMBA” gestellt werden.
Mit dieser Kombination funktioniert es bei mir sehr gut. Du kannst auch (sogar über eine grafische Oberfläche!) eine OpenVPN-Verbindung aufbauen um die CIFS/SMS-Verbindung verschlüsselt zu nutzen. Leider reagiert der eingebaute Datei-Manager nicht besonders flüssig. Hier kann hilft ein Programm namens “CuteExplorer” in extras-devel weiter. Damit werden auch Verzeichnisse mit sehr vielen Unterordnern und Dateien zügig angezeigt.
Ich werde, wenn ich die Zeit finde den ganzen Spaß auch nochmal in einen eigenen Artikel hier im Blog packen. Das ist dann die lange Antwort.
HTH
Erstmal vielen Dank für die schnelle Antwort
dann freu ich mich schon auf die lange Antwort. Hab nämlich schon Probleme mit dem cute explorer auf die speicherkarte zuzugrefen
Als Sachdienlicher Hinweis würde vermutlich schon das Verzeichnis helfen in das die Speicherkarte eingebunden ist:
/media/mmc1
Per Wizard Mounter eingebundene SMB/CIFS Laufwerke findet man unter:
/media/Remote_Filesystems/
Die Standardverzeichnisse für Dokumente, Bilder usw. findet man uebrigens nach Aktivierung der Option “Show hidden” im cute Explorer als .documents oder .images im Verzeichnis:
/home/user/MyDocs/
Ich hoffe das hilft weiter?
Vielen Dank! hat funktioniert
ist es normal dass ich nach einer der beiden xterm-kommandos noch das passwort für den hidrive-account angeben muss? bzw. was hab ich falsch gemacht?
Hallo Jakob, die Frage nach dem Passwort kann zwei Ursachen haben:
1. Du hast Dich beim eingeben des Pfades zum Schlüssel verschrieben. In meinem Beipiel ist es: /home/user/.ssh/rsynckey
In diesem Fall wird serverseitig auf “Anmeldung per Benutzername und Passwort” umgeschaltet und Du wirst nach dem Passwort gefragt.
2. Beim Erzeugen des Keys hast du ein Passwort für den Schlüssel vergeben. Dieses muss immer dann eingegeben werden, wenn du mit diesem Schlüssel arbeiten möchtest. In Scripten ist dies natürlich nicht erwünscht, weshalb ich kein Passwort vergeben habe.
Ich hoffe das Hilft weiter?
Guten Tag,
vielen Dank für die Anleitung, aber ich hätte mal eine triviale Frage: Kann ich mich denn via SSH mit HiDrive verbinden? Also, alá ssh user@hidrive.strato.com über putty oder Konsole?
In den üblichen Anleitungen habe ich nichts gefunden.
Viele Grüße
Hallo enendi, eine Nutzung via Putty, xterm & Co. ist nicht möglich. Allerdings hatte ich es vor einiger Zeit zumindest geschafft unter Ubuntu via SSHfs auf einen HiDrive-Account zuzugreifen. Aus zeitlichen Gründen konnte ich es noch nicht wieder probieren. Zum selbst probieren sollte dieser Artikel eine gute Ausgangsbasis bilden:
http://wiki.ubuntuusers.de/FUSE/sshfs
Ich bekomme beim Probebetrieb im Xterm immer folgende Fehlermeldung:
ssh: Could not resolve hostname rsync.hidrive.strato.com: Temorary failure in name resolution
rsync: connection unexpectedly closed
…
Von meinem Ubuntu System auf dem Desktop aus läuft alles prima.
Kannst du hier bitte die genaue Befehlszeile angeben (sofern das Problem noch besteht)? Ich habe rsync gerade erst wieder problemlos aus xterm heraus genutzt.
Ich erhalte die gleiche Meldung wie Stefan beim Versuch über Grsync…
Wäre super, wenn das klappen würde!
Neue Fehlermeldung:
ssh_askpass: exec(/usr/bin/ssh-askpass): no such file or directory
Host key verification failed.
Sorry, aber ich bin totaler Laie…
Bin für jeden Tipp dankbar!
Hab’s dann doch noch geschafft. Man muss wohl rsync erst im xterm starten und dann den Zugriff bestätigen. Dies wird dann registriert und ist später nicht mehr nötig.
In Grsync gibt es die Möglichkeit der Zugriffsbestätigung nicht und deswegen kommt dann wohl die Fehlermeldung.
Wie gesagt, ich kenn mich da nicht so aus und vielleicht ist meine Erklärung auch falsch. Aber bei mir klappt’s jetzt und das find ich klasse!
Für diejenigen, die danach gefragt hatten ob ein Zugriff per SSH möglich sei hier ein spannender Link:
Im Artikel ist es der 2. Tipp: http://www.kauderwwwelsch.de/2010-08-10/3-tipps-fuer-den-linux-admin/
Viel Erfolg!