ftplicity: inkrementelle Backups sicher ablegen

ACHTUNG: Die in diesem Artikel besprochenen Versionen sowohl von ftplicity als auch duplicity sind bereits veraltet. Die grundsätzlichen Erklärungen sind zwar weiterhin valid, aber die Syntax oder Konfigurationsparameter könnten sich geändert haben. Bitte verwendet den Such-Tag “duplicity” bzw. den Such-Tag “ftplicity” und die Kommentare, um aktuelle Informationen zu finden.

Nachdem ich durch einen Beitrag von Matthias wieder mal erinnert wurde, dass nicht Jeder Backups macht bzw. sie aktuell hält, dachte ich, dass ich mal kurz einen Teil meiner Backuplösung vorstelle:

Vorteile

In einem (schon älterem) Artikel der c’t (13/2006) wurde ein Tool vorgestellt mit dem man eine einfache und sichere Backup-Strategie für z.B. Root-Server fahren kann. Das Tool heißt ftplicity und ist im Prinzip nur ein Wrapper für das umfangreichere duplicity. Wie der Name schon sagt, kann möchte ftplicity nur via FTP kommunizieren, denn dies ist laut c’t (und auch meiner Erfahrung nach) der häufigste und simpelste Weg einen Backupspace zu erreichen.

Nun beseitigt ftplicity bzw. das dahinterliegende duplicity gleich mehrere Probleme, die bei dem “plain old Dir-to-FTP-sync” enstehen:

  • Übertragungsqualität: FTP tendiert bei längeren durchgehenden Übertragungen (= eine große Datei) zu Fehleranfälligkeit und der ganze Upload muss noch einmal begonnen werden oder (was viel schlimmer ist) die Backupdatei ist zerstört/ fehlerhaft und lässt sich im Ernstfall nicht mehr richtig wiederherstellen.

    Lösung: kleine Dateien übertragen durch Erstellung von Volumes

  • Vertraulichkeit: Wer einen zweiten Server mit guter Anbindung hat braucht sich um diesen Punkt nicht zu sorgen, aber alle anderen, die entweder etwas Platz bei einem Bekannten in Anspruch nehmen oder von Ihrem Provider einen gewissen Platz an FTP-Space zur Verfügung gestellt bekommen (z.B. Strato, Hetzner) müssen sich schon fragen, ob denn der jeweilige Serveradmin nicht nachts mal aus Interesse sich durch das Mailbackup wühlt.

    Lösung: Verschlüsselung der Daten mittels GPG

  • Authentizität: Das oben genannte Problem wirft ebenfalls die Frage auf, wie weit man den so gesicherten Daten noch vertrauen kann, wenn “Unbekannte” auf die Daten Zugriff hatten. Nichts wäre wohl schlimmer, als dass man sich mit dem Restore auch gleich eine passwd-Datei mit neuen SSH-Usern runterzieht (nette Idee, btw).

    Lösung: Die Signatur der Daten mittels GPG, welche auch beim Restore geprüft werden.

  • Datenvolumen: Je mehr Daten man gesichert hat, desto leichter findet ein Restore statt. Allerdings nimmt damit auch das Übertragungsvolumen zu, was erstens mehr Backupzeit kostet und zweitens in den meisten Hosterverträgen auch begrenzt ist.

    Lösung: Inkrementelle Backups (nur geänderte Daten) unter Nutzung der erprobten rsync-Bibliothek

Diese Probleme werden also von der hier vorgestellten Lösung bereits vermieden. Aber – richtig eingerichtet – kann es noch mehr:

Weitere Vorteile

  • Einzelrestore: Wer kennt das nicht: Schnell mal die Config vom Mailserver bearbeitet und statt die alte Zeile auszukommentieren löscht man sie… und siehe da, rien ne va plus! Der Mailserver startet nicht mehr und man kann sich partout nicht mehr an die besagt Zeile erinnern. Wohl dem, der ein Backup von den Configdateien hat und noch wohler dem, der nicht das ganze Backup wiederherstellen muss, um die Einzeldatei zu erhalten.

    Lösung: ftplicity besitzt einen Befehl, mit dem man Einzeldateien oder -ordner an einen beliebigen Ort wiederherstellen kann

  • Versionierung: Manchmal wäre es schön, wenn man eine Datei nicht nur in dem Zustand des nächtlichen Backups erhielte, sondern sich auch mal die Config ansehen könnte, wie sie vor zwei Wochen war.

    Lösung: Ein Argument des oben erwähnten Befehls ermöglicht es, ein Datum oder einen Zeitraum für die wiederherzustellende Datei anzugeben.

So, als ich diese Punkte damals alle las, war für mich klar: Das will ich haben! Wenn es DIR jetzt auch so geht, dann lies jetzt weiter, denn ein kleines Howto folgt. Es basiert auf Debian (zuerst Sarge, nun Etch), aber sollte wohl auch auf anderen (Linux-) Systemen laufen, da duplicity in Python geschrieben ist und ftplicity nur ein Shellscript ist.

Installation

So, wie fangen wir an? Wir ziehen uns das duplicity-Paket mittels apt oder aptitude.

apt-get install duplicity

Wer z.B. noch kein gnupg (= GPG) installiert hat, wird sich freuen, dass die Abhängigkeiten vernünftig definiert sind und es somit gleich mit geladen wird.

Alternativ kann man sich auch das tgz von der Projektseite herunterziehen. Ich bevorzuge aber aus Sicherheitsgründen die Debian-Pakete.

Dann laden wir uns das File mit ftplicity von dem heise-Server.

wget ftp://ftp.heise.de/pub/ct/listings/0613-216.tar.gz

Auspacken…

tar -xzf 0613-216.tar.gz

…und in das Verzeichnis wechseln, …

cd ftplicity-1.1.1/

… und einfach mal die Datei ausführen:

./ftplicity

Diese Ausgabe sollte erscheinen:

Offenbar benutzen Sie ftplicity zum ersten Mal. Eine vorlaeufige
Konfigurationsdatei wurde unter /root/.ftplicity/conf erstellt.
Sie muessen dort die Daten des verwendeten GPG-Schluessels sowie
die Zugangsdaten fuer den FTP-Server eintragen, bevor Sie mit dem
Backup fortfahren koennen.

WICHTIG:
Sichern Sie das komplette Konfigurationsverzeichnis nach dem
ersten erfolgreichen Backup unbedingt auf einen vertrauenswuerdi-
gen externen Rechner und schuetzen Sie es vor unbefugtem Zugriff.

Konfiguration

So, das ist zwar schön, aber nicht wirklich sinnvoll. Als guter Admin möchte man seine Configdateien ja alle unter /etc wissen. Also machen wir ein wenig Kosmetik:

Wir verändern den Ort, wo ftplicity nach der config sucht:

edi ftplicity

Zur leichteren Trennung der verschiedenen Dateien, hänge ich auch noch Endungen an.

CONFDIR="/etc/ftplicity"
CONF="$CONFDIR/main.conf"
PRE="$CONFDIR/pre.sh"
POST="$CONFDIR/post.sh"
EXCLUDE="$CONFDIR/exclude.conf"
KEYFILE="$CONFDIR/gpg.key"

F10 – Speichern und beenden.

Dann das besagte Config-Dir erstellen:

mkdir /etc/ftplicity

Damit ftplicity im Pfad zu finden ist kopieren wir es nach /usr/sbin – für mich ist dies der richtige Ort, denn nur der root soll dieses Script mit der Konfiguration ausführen dürfen.

cp ftplicity /usr/sbin/

und damit wir u.U. das Skript schnell bearbeiten können, sollte dies nochmal nötig sein, erstellen wir noch einen Link ins Confdir (optional):

ln -s /usr/sbin/ftplicity /etc/ftplicity/ftplicity

Danach entweder einfach nochmal

ftplicity

aufrufen oder die Musterconfig aus dem ersten Aufruf an die richtige Stelle kopieren.

cp ~/.ftplicity/conf /etc/ftplicity/main.conf

Bevor wir nun die Config bearbeiten, benötigen wir zunächst einen GPG-Key, der zum Signieren und Verschlüsseln dient.

gpg --gen-key

Die Voreinstellungen sind alle sinnvoll und können mit <Enter> bestätigt werden, aber den Namen, Mailadresse und Kommentar sollte man so sinnvoll ausfüllen, dass man den Key in der GPG-Keyliste dann auch wiederfindet.

Das Passwort sollte natürlich Sicherheitsansprüchen genügen (Klein- und Großbuchstaben + Sonderzeichen + Zahlen).

Es kann sein ist sehr wahrscheinlich, dass bei Key-Erstellung folgendes kommt:

We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.

Not enough random bytes available. Please do some other work to give
the OS a chance to collect more entropy! (Need 282 more bytes)

Wie auch immer das genau funktioniert, nutzt GPG die Systemvorgänge als Zufallsinput. Also mach z.B. folgendes in einer zweiten Shell:

while /bin/true; do cat /var/log/syslog &gt; ~/temp.txt; sleep 1; done;

Dies erzeugt eine Kopie des Syslogs (= große Datei) in deinem Homeverzeichnis und das zwar endlos, solange du es nicht via Ctrl+C abbrichst bzw. die Sitzung schließt. Damit erzeugst Du genügend Festplattenaktivität. Du kannst natürlich auch andere Dinge tun oder einfach warten – je nach Systemaktivität könnte dies aber eine Weile dauern.

Wie auch immer Du es erreichst, es erscheint dann:

gpg: key 1B6B8FAF marked as ultimately trusted
public and secret key created and signed.

gpg: checking the trustdb
gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
gpg: depth: 0 valid: 2 signed: 0 trust: 0-, 0q, 0n, 0m, 0f, 2u
pub 1024D/1B6B8FAF 2007-08-17
Key fingerprint = 2B2E DA54 4E2C 08B4 677D 4EC9 1AC5 3DE5 1B6B 8FAF
uid Stevie (Backup-GPG-Key) <admin@domain.tld>
sub 2048g/C4BCAD3E 2007-08-17

wobei uns nur diese Zeile interessiert,

pub 1024D/1B6B8FAF 2007-08-17

denn 1B6B8FAF wäre in diesem Fall die Key-ID, die wir in die ftplicity-Config eintragen müssen. Das merken wir uns also schon mal. Dann können wir jetzt die Config-Datei von ftplicity bearbeiten.

edi /etc/ftplicity/main.conf

Meine Datei sieht so aus:

# Daten fuer GPG-Schluessel
GPG_KEY=<em>KEYID</em>
GPG_PW='_MEINPW_'
 
# Zugangsdaten fuer FTP-Server (URL-Format)
# subdir ist natürlich optional, aber strengstens empfohlen!
ZIEL='ftp://username@ftphost.tld/subdir/'
ZIEL_PW='_FTPPASSWORT_'
 
# Basisverzeichnis fuers Backup
QUELLE='/'
 
# aeltester Wiederherstellungszeitpunkt
# Linux-übliche Abkürzungen, ich habe vorerst 6 Monate eingestellt,
# da ich noch genügend freien Platz habe
# - je nach Speicherplatz und Backuphäufigkeit zu entscheiden
HOECHSTALTER=6M 
 
# Ausfuehrlichkeit der Bildschirmausgaben (9 fuer Fehlersuche)
# WARNUNG: "9" erstellt Logs/Ausgaben in der Größenordnung von 200MB (je nach Dateianzahl)
VERBOSITY=3 
 
# Verzeichnis fuer temporaere Dateien. Beim Restore muss dort
# mindestens Patz fuer die groesste Datei im Backup sein
TEMP_DIR=/tmp

So, eigentlich wären wir nun fertig. ABER eben nur eigentlich. Bei der Erstellung des Backups würde duplicity auf einige Probleme stoßen, somit sind einige Pfade vom Backup auszuschließen in der exclude.conf:

edi /etc/ftplicity/exclude.conf
+ /backups/mysql/latest
/backups/**
/var/run/**
/var/tmp/**
/tmp/**
/dev/**
/sys/**
/proc/**
/floppy/**
/cdrom/**
/var/lib/mysql/**

Der Selektor “**” steht für alle Dateien und Unterverzeichnisse in diesem Ordner. Der Selektor “+” vor dem Ordner gibt an, dass es explizit gesichert werden soll, auch wenn es eigentlich in einem Exclude-Dir liegt (siehe 1. & 2. Zeile). Wie man sieht, schließe ich die MYSQL-Dateien aus. Während der Server läuft, kann man die Dateien auch nicht sichern. Entweder man beendet den Mysql-Server während des Backups oder man dumpt die DBs. Das Script zum Dumpen der MYSQL-Tabellen habe ich hier kurz vorgestellt.

Wer noch andere vorbereitende Schritte zur Sicherung vornehmen möchte, wie z.B. das o.g. MySQL-Dump-Script oder das Beenden des MySQL-Servers, kann diese in der pre.sh einstellen. Nachbereitende Schritte, z.B. Start von Mysql, kann ist der post.sh erfolgen. (Beide Dateien müssen erst erstellt werden, sofern sie benötigt werden.)

Absichern

Zur Sicherheit sichern wir nun noch das gesamte Confdir, damit uns niemand das Key-PW auslesen kann:

chown -R root:root /etc/ftplicity
chmod -R o-rwx /etc/ftplicity

So, fertig. Nun ist alles konfiguriert und bereit zum Test. Auf manchen FTP-Servern hat duplicity Probleme zu starten, wenn der Ordner leer ist (wie es beim ersten Mal der Fall sein wird). Wo das der Fall ist, genügt es, eine leere Datei in dem Verzeichnis zu platzieren.

Test

Nun wird es ernst. Die Verwendungshinweise erhält man nun, in dem man einfach

ftplicity

aufruft und es wäre sinnlos alles zu wiederholen. Nur ein paar Hinweise:

Beim “fetch” einzelner Dateien darf man keinen führenden Slash und muss eine Zieldatei angeben:

ftplicity fetch etc/passwd  /root/restoretest/passwd now

Lädt aus dem Backup die letzte Version der Datei passwd, die aus /etc gesichert wurde und speichert sie nach /root/restoretest/passwd.

Bevor man sich nun darauf verlässt, dass alles funktioniert, sollte man mittels

ftplicity full

ein Vollbackup machen und es mittels

ftplicity restore /root/restoretest/

zurückspielen und untersuchen. Wenn alles geklappt hat, kann man sich beruhigt auf die Schulter klopfen.

Cron

So, nun ist alles bereit für den Regelbetrieb. Damit man von nun an keine Kopfschmerzen mehr mit dem Backup hat, richten wir noch cronjobs ein, die wöchentlich ein komplettes Backup und an den anderen Tagen eine inkrementelle Sicherung erstellen. Richtig eingerichtet sollte der Cron-Daemon die Ausgabe des Cronjobs via E-Mail an den root senden. Als root führen wir also aus:

crontab -e

und tragen dort ein:

# FTP-Backup ... jede Nacht um 2:05 Uhr (außer Montags)
5 2 * * 2-7 /usr/sbin/ftplicity cleanup --force ; /usr/sbin/ftplicity backup
 
# FTP-Backup ... um 1:30 Uhr jeden Montag
30 1 * * 1 /usr/sbin/ftplicity cleanup --force; /usr/sbin/ftplicity full ; /usr/sbin/ftplicity purge --force

Zusätzlich wird so dafür gesorgt, dass vor jedem Backup das Verzeichnis von fehlerhaften Backups bereinigt wird und Montags nach dem vollständigen Backup veraltete Dateien ebenfalls gelöscht werden. (Anmerkung: Es werden nur veraltete Dateien gelöscht, wenn es eine neuere Version gibt, die innerhalb des konfigurierten Höchstalters liegt. Es gibt also immer mindestens eine Version der Datei … irgendwie sinnvoll 😉 )

Backup des Backups

Nach dem ersten Lauf existiert ein gpg.key im Config-Dir. Der muss unbedingt die Rechte 400 oder 600 haben und sollte an einem sicheren Platz fernab vom Server gesichert werden. Nur mit diesem Key (und dem PW) ist eine Wiederherstellung des Backups möglich, sollte der Keyring nach einem Totalabsturz nicht mehr verfügbar sein. Sicherlich kann es auch nicht schaden, die Configs zu sichern. So hat man gleich die perfekte Voraussetzung, um das ganze erneut aufzusetzen.

Das war’s, we are done. Wir sind nun sowas von auf der sicheren Seite… wow!

Fragen? Hinweise? Optimierungen? –> Bitte hinterlasse einen Kommentar!

75 Gedanken zu „ftplicity: inkrementelle Backups sicher ablegen“

  1. @23_daniel

    nun .. wenn das backup verschlüsselt und signiert ist musst du dir keine sorgen machen. maximal verlierst du die backup sets und die zugangsdaten zum server … somit ist dein ftp server evtl. kompromittiert (aber wenn du so misstrauisch bist, checkst du wohl auch die logs)

    ansonsten halte ich backups auf eine dynamische IP, die keine Standleitung ist, generell für fragwürdig und rate dir zu einem sicheren ftp account ala strato backup.serverkompetenz.de ..

  2. @23_daniel

    nun .. wenn das backup verschlüsselt und signiert ist musst du dir keine sorgen machen. maximal verlierst du die backup sets und die zugangsdaten zum server … somit ist dein ftp server evtl. kompromittiert (aber wenn du so misstrauisch bist, checkst du wohl auch die logs)

    ansonsten halte ich backups auf eine dynamische IP, die keine Standleitung ist, generell für fragwürdig und rate dir zu einem sicheren ftp account ala strato backup.serverkompetenz.de ..

  3. @ed:
    “maximal verlierst du die backup sets”
    Das ist gerade das Problem dabei. Die Daten mögen ja sicher sein, da ich aber einen Server mit sensiblen Daten sichern will ist es nicht hinnehmbar, wenn die Backups mal weg sein sollten…

    Klar, die Daten werden beim nächsten Backup wieder alle übertragen, aber die history wäre damit weg. Nicht gerade professionell!

    Daniel

  4. @ed:
    “maximal verlierst du die backup sets”
    Das ist gerade das Problem dabei. Die Daten mögen ja sicher sein, da ich aber einen Server mit sensiblen Daten sichern will ist es nicht hinnehmbar, wenn die Backups mal weg sein sollten…

    Klar, die Daten werden beim nächsten Backup wieder alle übertragen, aber die history wäre damit weg. Nicht gerade professionell!

    Daniel

  5. @Daniel:
    Natürlich ist das Backup immer so gut wie das schwächste Glied in der Kette. Du musst also Deinem Space vertrauen können.

    Hast Du schon mal drüber nachgedacht einen eigenen Dyn-Ip-DNS dafür einzurichten? Es bräuchte ja nur eine Subdomain einer deiner Domains sein. So kannst Du Dir etwas sicherer sein, dass Du unter der Zieladresse auch Deinen Server bedienst.

    Nur mal so eine Idee.

  6. @Daniel:
    Natürlich ist das Backup immer so gut wie das schwächste Glied in der Kette. Du musst also Deinem Space vertrauen können.

    Hast Du schon mal drüber nachgedacht einen eigenen Dyn-Ip-DNS dafür einzurichten? Es bräuchte ja nur eine Subdomain einer deiner Domains sein. So kannst Du Dir etwas sicherer sein, dass Du unter der Zieladresse auch Deinen Server bedienst.

    Nur mal so eine Idee.

  7. @daniel 26

    wie gesagt die schwachstelle in deiner strategie ist die dyndns zuweisung.. ergo wenn du sicherstellen kannst, dass das backup auf dem richtigen server landet, ist dein problem gelöst…

    mir fällt da z.B. ein verzicht auf einen öffentl. dyndns dienst ein 😉 .. du könntest per scripting sicherstellen dass die entsprechende IP irgendwo hinterlegt wird, wo du sie abholst ODER du nutzt kommerzielles dyndns (vielleicht mit verschlüsseltem update) da kenne ich aber keinen anbieter

    wie auch immer … zusätzlich kannst und solltest du versuchen sftp zu nutzen und die authentifizierung per key organisieren … der hijacker kann relativ unmöglich deinen key besitzen.

    soviel dazu .. ed

  8. @daniel 26

    wie gesagt die schwachstelle in deiner strategie ist die dyndns zuweisung.. ergo wenn du sicherstellen kannst, dass das backup auf dem richtigen server landet, ist dein problem gelöst…

    mir fällt da z.B. ein verzicht auf einen öffentl. dyndns dienst ein 😉 .. du könntest per scripting sicherstellen dass die entsprechende IP irgendwo hinterlegt wird, wo du sie abholst ODER du nutzt kommerzielles dyndns (vielleicht mit verschlüsseltem update) da kenne ich aber keinen anbieter

    wie auch immer … zusätzlich kannst und solltest du versuchen sftp zu nutzen und die authentifizierung per key organisieren … der hijacker kann relativ unmöglich deinen key besitzen.

    soviel dazu .. ed

  9. Hi ed,

    die Idee mit sftp reicht ja vollkommen aus, damit hab ich ja alles, was ich immer wollte. 1. Klappt nur bei meinem Server, 2. Verschlüsselt auch noch doppelt.

    Das Problem wird nur evtl sein sftp mit ftplicity anzusprechen. Ich hab es mal in einer älteren Version probiert, dort war jedoch nur ftp möglich.

    Danke
    Daniel

  10. Hi ed,

    die Idee mit sftp reicht ja vollkommen aus, damit hab ich ja alles, was ich immer wollte. 1. Klappt nur bei meinem Server, 2. Verschlüsselt auch noch doppelt.

    Das Problem wird nur evtl sein sftp mit ftplicity anzusprechen. Ich hab es mal in einer älteren Version probiert, dort war jedoch nur ftp möglich.

    Danke
    Daniel

  11. Hallo Ihr,

    jetzt melde ich mich mal wieder zu Wort. Seit einem Update von ftplicity funktioniert zwar das Backup noch, aber sonst bricht fast alles mit folgender Meldung ab. Gibt es ein HowTo für die neue Version, wo man sich auch über neuerungen einlesen kann??

    # ftplicity backup purge –force
    awk: line 2: function gensub never defined
    expr: missing operand
    Try `expr –help’ for more information.
    awk: line 2: function gensub never defined
    /usr/sbin/ftplicity: line 219: [: -eq: unary operator expected
    /usr/sbin/ftplicity: line 221: [: too many arguments
    Using installed duplicity version (OK).
    Command line error: Too many arguments
    See the duplicity manual page for instructions

    Danke

    Daniel

  12. Hallo Ihr,

    jetzt melde ich mich mal wieder zu Wort. Seit einem Update von ftplicity funktioniert zwar das Backup noch, aber sonst bricht fast alles mit folgender Meldung ab. Gibt es ein HowTo für die neue Version, wo man sich auch über neuerungen einlesen kann??

    # ftplicity backup purge –force
    awk: line 2: function gensub never defined
    expr: missing operand
    Try `expr –help’ for more information.
    awk: line 2: function gensub never defined
    /usr/sbin/ftplicity: line 219: [: -eq: unary operator expected
    /usr/sbin/ftplicity: line 221: [: too many arguments
    Using installed duplicity version (OK).
    Command line error: Too many arguments
    See the duplicity manual page for instructions

    Danke

    Daniel

  13. habe hier genau dasselbe Problem wie Daniel mit demselben Output.

    awk: line 2: function gensub never defined
    expr: missing operand
    Try `expr –help’ for more information.
    awk: line 2: function gensub never defined
    /usr/local/bin/ftplicity: line 230: [: -eq: unary operator expected
    /usr/local/bin/ftplicity: line 232: [: too many arguments
    Using installed duplicity version 0.4.10 (OK).

  14. habe hier genau dasselbe Problem wie Daniel mit demselben Output.

    awk: line 2: function gensub never defined
    expr: missing operand
    Try `expr –help’ for more information.
    awk: line 2: function gensub never defined
    /usr/local/bin/ftplicity: line 230: [: -eq: unary operator expected
    /usr/local/bin/ftplicity: line 232: [: too many arguments
    Using installed duplicity version 0.4.10 (OK).

  15. Hallo,

    ich kann Eure Probleme mit FTP und SSL nicht ganz nachvollziehen. Natürlich sollte auch die FTP-Verbindung nach Möglichkeit verschlüsselt sein, auch wenn die Daten selber schon verschlüsselt sind. Was nützt es mir, wenn mein FTP-VErzeichnis geleert ist und mir genau dann die Festplatte wegfliegt…

    Ich mache das hier mit tlswrap von http://tlswrap.sunsite.dk/, das wurde auch schon einmal kurz angesprochen. Dem tlswrap übermittelt man im Usernamen die Informationen über den eigentlichen Usernamen und den eigentlichen FTP-Server, leider wird dazu standardmässig das “@” als Trenner benutzt. Gibt man das nun so in die conf-Datei ein, will duplicity das gar nicht haben, soweit ganz richtig.

    tlswrap muss dagegen z.B. mit
    tlswrap -t “#_:%+”
    gestartet werden, das sorgt dafür, dass jetzt der “_” als Trennungszeichen dient. In der conf-Datei steht dann entsprechend:

    TARGET=’ftp://username_ftpserver@localhost:7000/subdir/

    Und damit ist die FTP-Übertragung verschlüsselt.

    Als neues Problem ist hier mit dem Duplicity aus Debian-Backports und dem ftplicity von Sourceforge noch aufgetreten, dass die Dateien zwingend in einem Unterverzeichnis auf dem FTP-Server erwartet werden. Will man die duplicity-Dateien direkt in das Home des FTP-Users werfen, gibt es die seltsamsten Fehlermeldungen.

  16. Hallo,

    ich kann Eure Probleme mit FTP und SSL nicht ganz nachvollziehen. Natürlich sollte auch die FTP-Verbindung nach Möglichkeit verschlüsselt sein, auch wenn die Daten selber schon verschlüsselt sind. Was nützt es mir, wenn mein FTP-VErzeichnis geleert ist und mir genau dann die Festplatte wegfliegt…

    Ich mache das hier mit tlswrap von http://tlswrap.sunsite.dk/, das wurde auch schon einmal kurz angesprochen. Dem tlswrap übermittelt man im Usernamen die Informationen über den eigentlichen Usernamen und den eigentlichen FTP-Server, leider wird dazu standardmässig das “@” als Trenner benutzt. Gibt man das nun so in die conf-Datei ein, will duplicity das gar nicht haben, soweit ganz richtig.

    tlswrap muss dagegen z.B. mit
    tlswrap -t “#_:%+”
    gestartet werden, das sorgt dafür, dass jetzt der “_” als Trennungszeichen dient. In der conf-Datei steht dann entsprechend:

    TARGET=’ftp://username_ftpserver@localhost:7000/subdir/

    Und damit ist die FTP-Übertragung verschlüsselt.

    Als neues Problem ist hier mit dem Duplicity aus Debian-Backports und dem ftplicity von Sourceforge noch aufgetreten, dass die Dateien zwingend in einem Unterverzeichnis auf dem FTP-Server erwartet werden. Will man die duplicity-Dateien direkt in das Home des FTP-Users werfen, gibt es die seltsamsten Fehlermeldungen.

  17. Servus.
    ist zwar ne alte page aber hier passt meien Frage dazu:

    Ich hab das ganze am laufen, mit neuesten duplicity und duply versionen, läuft ganz gut ABER eine Frage hab ich noch:

    Wie exportiere ich meinen gpg Schlüßel? Zur Sicherung… also das ganze Ding. Auf meinem alten Server hatte ich eine gpgkey.04D8D382.asc Datei die meinen Schlüßel enthielt den hab ic hdann lokal gesichert aber ich kann mich eifnach nicht mehr erinnern wie ich den erstellt habe.

    man gpg ist n bischen zu kompliziert, weiss grad nicht welchen Parameter ich nehmen soll :-(

    1. Hi,

      das hier hilft vielleicht:

      to export a private key:
      gpg –export-secret-key -a “User Name” > private.key
      This will create a file called private.key with the ascii representation of the private key for User Name.
      It’s pretty much like exporting a public key, but you have to override some default protections. There’s a note (*) at the bottom explaining why you may want to do this.

      Quelle: http://irtfweb.ifa.hawaii.edu/~lockhart/gpg/gpg-cs.html

      1. hm,ja danke, dachte halt nur ich bräuchte beide schlüßel? na ja ahb schon selber die man page gelesen…
        werd halt sowohl public als auch private key exportieren…

      2. sorry ich bin halt zu doof :-( duply legt den exportierten schlüßel selber an beim ersten lauf :-)

        INFO:

        Backup of used key (EXXXXXXX) did not exist as file
        ‘/root/.duply/hXXXXXXX/gpgkey.EXXXXXXX.asc’ .
        Created it now.

        Hint: You should backup your changed profile folder now.

Schreib einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *