Skip to content

Restic - Passwortübergabe

Restic
1 1 250
  • Es gibt in Restic mehrere Möglichkeiten, das Repository Passwort zu übergeben. Der normale Weg.

    restic -r /tmp/repo backup /home/frank/Bilder
    enter password for repository: 
    password is correct
    

    Das Backup wird gestartet und man wird nach dem Repository Passwort gefragt. Für eine evt. Automatisierung ist das aber nicht so toll. Da Entwickler aber faul sind 🙂 , hat man sich auch ein paar andere Dinge einfallen lassen.

    restic -r /home/frank/b5 /home/frank/Bilder --password-file restic_pw.txt 
    

    oder

    restic -r /home/frank/b5 backup /home/frank/Bilder --password-command SCRIPT
    

    Übergabe mit --password-file

    Das Passwort liegt dazu in einem File und wird mittels

    --password-file

    übergeben. Das Ergebnis sieht dann so aus.

    frank@frank-MS-7C37:~$ restic -r /home/frank/b5 backup /home/frank/Bilder --password-file  pw.txt
    repository 87835251 opened successfully, password is correct
    found 15 old cache directories in /home/frank/.cache/restic, run `restic cache --cleanup` to remove them
    using parent snapshot 3171ef48
    
    Files:           0 new,     0 changed,   160 unmodified
    Dirs:            0 new,     2 changed,    14 unmodified
    Added to the repo: 747 B
    
    processed 160 files, 173.780 MiB in 0:00
    snapshot 0f2b19e6 saved
    

    Übergabe mit -password-command

    Test-Script test.sh

        #!/bin/sh
        echo "123456"
    

    Das wird dann mittels --password-command übergeben.

    restic -r /home/frank/b5 backup /home/frank/Bilder --password-command  /home/frank/test.sh
    repository 87835251 opened successfully, password is correct
    found 15 old cache directories in /home/frank/.cache/restic, run `restic cache --cleanup` to remove    them
    using parent snapshot 1b4adc5a
    
    Files:           0 new,     0 changed,   160 unmodified
    Dirs:            0 new,     2 changed,    14 unmodified
    Added to the repo: 747 B
    
    processed 160 files, 173.780 MiB in 0:00
    snapshot 23677375 saved
    

    Übergabe mit verschlüsseltem Passwort

    Das obere Test Script habe ich mal verschlüsselt

    gpg -c test.sh
    

    Das Ergebnisfile heißt dann test.sh.gpg . Danach kann man dann das Test Script umschreiben.

    #!/bin/sh
    cd /tmp
    gpg -d /home/frank/test.sh.gpg > schluessel.sh
    chmod +x schluessel.sh
    ./schluessel.sh
    rm schluessel.sh
    

    Und wenn man jetzt das Restic Backup mit

    restic -r /home/frank/b5 backup /home/frank/Bilder --password-command  /home/frank/test.sh
    

    aufruft, wird das PW aus dem verschlüsselten File benutzt.

    frank@frank-MS-7C37:~$ restic -r /home/frank/b5 backup /home/frank/Bilder --password-command  /home/frank/test.sh
    gpg: AES256 verschlüsselte Daten
    gpg: Verschlüsselt mit einer Passphrase
    repository 87835251 opened successfully, password is correct
    found 15 old cache directories in /home/frank/.cache/restic, run `restic cache --cleanup` to remove them
    using parent snapshot d6226569
    
    Files:           0 new,     0 changed,   160 unmodified
    Dirs:            0 new,     2 changed,    14 unmodified
    Added to the repo: 747 B
    
    processed 160 files, 173.780 MiB in 0:00
    snapshot 86ca3ca9 saved
    

    Sollte der GPG Schlüsselbund nicht entsperrt sein, wird man nach seinem Passwort dafür gefragt.

    Übergabe mittels stdin in Python Code

    In meinem Restic UI habe ich das wie folgt gelöst.

    result = subprocess.run(['restic',
                                                    '-r',
                                                     backup_data[row].repository,
                                                     'backup',
                                                     backup_data[row].source],
                                                    input=pass_word.pw[0],
                                                    check=False,
                                                    capture_output=True,
                                                    text=True)
    

    Fazit

    Eine Menge Möglichkeiten aus denen man anhand der Schwere seiner Datenparanoia auswählen kann 😉

  • Restic v0.16.5 released

    Restic restic linux
    1
    0 Stimmen
    1 Beiträge
    168 Aufrufe
    Niemand hat geantwortet
  • Restic UI - Youtube Video Vorstellung

    Restic UI restic-ui restic
    3
    0 Stimmen
    3 Beiträge
    333 Aufrufe
    FrankMF
    Hallo @berthold, du bist mein einziger Star Ok, darum geht es mir ja nicht, wie Du weißt mache ich das hauptsächlich für mich und meine Backups klappen damit sehr gut. Ist also produktiv einsetzbar. Wie Du gemerkt hast, gibt es Zeiten da mache ich ganz viel und dann wieder Zeiten da passiert nix. Das ist bei mir normal, ich muss da "Bock" drauf haben. Habe ich viel Stress auf der Arbeit, passiert Abends eher sehr wenig.. Ich hoffe das ich mittlerweile alle Fehler gefunden habe, die Grundfunktionen sind alle funktional. Mittlerweile kann man die JSON Datei mit den Daten der Backups auf Wunsch auch verschlüsseln Ich habe noch eine ganze Reihe an Notizen, was ich gerne noch machen möchte. Wichtig ist mir aber im Moment, das ich alle Fehler finde und das so wie es jetzt ist, einwandfrei läuft. Darum, wenn es jemand nutzt, bitte gebt Feedback. Egal ob positiv oder negativ. Ich freue mich persönlich natürlich mehr über positives Feedback
  • Restic v0.13.0 released

    Restic restic restic-ui
    1
    1
    0 Stimmen
    1 Beiträge
    158 Aufrufe
    Niemand hat geantwortet
  • Restic UI - mein zweites Python3 Projekt

    Python3 pyqt5 restic python3
    5
    0 Stimmen
    5 Beiträge
    914 Aufrufe
    FrankMF
    @berthold Hallo Berthold. Ich bin eigentlich immer noch nicht mit meinem Code zufrieden. Ist man das jemals? Da ich auch noch ein kleines Problem habe, würde ich da ungerne jemanden reinschauen lassen. Der Code ist stellenweise in deutsch kommentiert, stellenweise in englisch. Kennt man ja, man will es irgendwann mal ordentlich machen und dann kommt das nächste Problem auf einen zu. Hast Du Python3 Vorkenntnisse? Wenn Du "brennend" dran interessiert bist, könnte ich Dir evt. Zugang zu meinem Gitlab-Projekt geben. Wenn Du interessiert bist und ich dich nicht los werde :), dann schreib mir eine PN.
  • Rest-Server aufsetzen

    Angeheftet Restic rest-server restic linu
    9
    0 Stimmen
    9 Beiträge
    2k Aufrufe
    M
    @FrankM Hallo Frank, vielen Dank für deine Antwort. Die Clients greifen alle via REST-Schnittstelle auf den restic-Server zu. Da der restic-Server im append-only Modus läuft, können die Clients prinzipiell keine Snapshots entfernen, ihnen fehlt das Recht. Derzeit teste ich ein lokales, auf dem REST-Server liegendes Skript, welches per cron ausgeführt wird. Dieses Skript stellt eine lokale Verbindung zum REPO her, also nicht über die REST-Schnittstelle. Damit würde erstmal das Löschen älterer Snapshots funktionieren. Vielleicht hat ja noch jemand eine andere Idee??
  • Restic - Update

    Restic linux restic
    1
    0 Stimmen
    1 Beiträge
    466 Aufrufe
    Niemand hat geantwortet
  • Restic - Beispielzeiten

    Restic linux restic
    1
    0 Stimmen
    1 Beiträge
    526 Aufrufe
    Niemand hat geantwortet
  • Restic - Einen ROCKPro64 als Datengrab benutzen

    Verschoben Restic linux restic
    2
    1
    0 Stimmen
    2 Beiträge
    929 Aufrufe
    FrankMF
    So, dann mal das Ganze testen wenn man seinen Haupt-PC neu installiert hat und ein paar Daten braucht. [image: 1534692579149-img_20180819_090116_ergebnis-resized.jpg] Also, mal Restic installiert. sudo apt-get install restic Nach erfolgter Installation ein Test frank@frank-MS-7A34:~/restic$ restic version restic 0.8.3 compiled with go1.10 on linux/amd64 Geht so weit. Snapshots auflisten. restic -r sftp:rock64@IP:/home/rock64/backup snapshots Sieht dann so aus. frank@frank-MS-7A34:~$ sudo restic -r sftp:rock64@192.168.3.207:/home/rock64/backup snapshots [sudo] Passwort für frank: rock64@192.168.3.207's password: enter password for repository: password is correct ID Date Host Tags Directory ---------------------------------------------------------------------- 7e2eddcb 2018-08-18 10:10:40 frank-MS-7A34 /home/frank/Bilder 073b7cb4 2018-08-18 14:21:17 frank-MS-7A34 /home/frank 6bc9b21b 2018-08-18 16:11:19 frank-MS-7A34 /home/frank ---------------------------------------------------------------------- 3 snapshots Snapshot wiederherstellen sudo restic -r sftp:rock64@IP:/home/rock64/backup restore latest --target /tmp/backup Hiermit stellen wir das Backup im temporären Ordner /tmp/backup wieder her. Hat ewig gedauert, aber ging !?!?!?