Lukas.: Linux, GnuPG, Passphrase nicht eingeben müssen?

Guten Tag,

ich möchte in Linux mit GnuPG eine gepackte Datei verschlüsseln und anschließend auf einen Server schieben. Da das ganze automatisiert ablaufen soll, möchte ich gerne das Eingeben einer Passphrase vermeiden. Ich dachte, ich leg nen Schlüssel an und der wird dann benutzt, aber Pustekuchen, ich soll immer noch eine Passphrase eingeben.

Wie gehe ich vor, um das zu vermeiden?

L.

  1. Hallo Lukas.,

    du solltest keinen Key eingeben müssen, was hast du denn als Kommando ausgeführt?

    Wie gehe ich vor, um das zu vermeiden?

    Verwende entweder den gpg-agent, der die passphrase cached oder verwende symmetrische Verschlüsselung und gib die Passphrase in der Kommandozeile an, etwa so:

    gpg --output foo.txt.gpg --passphrase 1234 --symmetric foo.txt
    

    Je nach Anwendungsfall, ich weiß nicht so richtig, was genau du eigentlich tun möchtest.

    LG,
    CK

    1. Hallo Christian,

      du solltest keinen Key eingeben müssen, was hast du denn als Kommando ausgeführt?

      gpg -c benutzer.tar.gz
      
      gpg --output foo.txt.gpg --passphrase 1234 --symmetric foo.txt
      

      Habe ich gemacht, nämlich so:

      gpg -c --passphrase-file /home/me/pass.txt benutzer.tar.gz
      

      Wenn ich aber dann entschlüsseln möchte, akzeptiert GnuPG meine manuelle Eingabe des Passes nicht.

      Je nach Anwendungsfall, ich weiß nicht so richtig, was genau du eigentlich tun möchtest.

      Eigentlich ein paar (mir) wichtige Verzeichnisse zum Backup auf einen Server legen und damit keiner mitlesen kann, diese Verzeichnisse vorher verschlüsseln.

      L.

      1. Hallo Lukas.,

        du solltest keinen Key eingeben müssen, was hast du denn als Kommando ausgeführt?

        gpg -c benutzer.tar.gz
        

        Du musst auch einen Recipient angeben. gpg --encrypt --recipient cjk@defunct.ch foo.txt fragt hier nicht nach einer Passphrase, weil keine nötig ist. gpg --decrypt fragt verständlicherweise nach einer. --recipient akzeptiert auch eine Key-ID.

        gpg --output foo.txt.gpg --passphrase 1234 --symmetric foo.txt
        

        Habe ich gemacht, nämlich so:

        gpg -c --passphrase-file /home/me/pass.txt benutzer.tar.gz
        

        Beachte das --symmetric ;-) Das macht einen großen Unterschied. Oder gib --recipient an, sonst weiß GnuPG nicht, für wen es verschlüsselt werden soll.

        Edit: oh, -c durcheinander geworfen. Doch, das hätte eigentlich funktionieren müssen. Ja, geht hier auch.

        Je nach Anwendungsfall, ich weiß nicht so richtig, was genau du eigentlich tun möchtest.

        Eigentlich ein paar (mir) wichtige Verzeichnisse zum Backup auf einen Server legen und damit keiner mitlesen kann, diese Verzeichnisse vorher verschlüsseln.

        Wenn du einen Service wie SCP oder SFTP verwendest (beide werden über SSH getunnelt), dann erledigt das „damit keiner mitlesen kann“ bereits die transport encryption. Dann benötigst du die GPG-Verschlüsselung nicht.

        LG,
        CK

        1. Wenn du einen Service wie SCP oder SFTP verwendest (beide werden über SSH getunnelt), dann erledigt das „damit keiner mitlesen kann“ bereits die transport encryption. Dann benötigst du die GPG-Verschlüsselung nicht.

          Hi CK,

          aber nicht nur auf dem Transport sollen die Daten verschlüsselt sein, sondern auch auf dem Server sicher verschlüsselt liegen.

          L.

          1. Hello,

            das sind aber zwei verschiedene Schuhe.
            Man könnte jetzt so vermessen sein, dass die Daten dann nur einmal verschlüsselt werden müssten vor der Übertragung. Aber die geltenden Verschlüsselungsmechanismen gelten anerkannt auch heute schon nur noch mit dem Faktor Zeit.

            Wenn Du also Daten, die bei Dir verschlüsselt wurden, auf einen unsicheren Server (außerhalb deines physischen und logischen Einflussbereiches) überträgst, ist es also eigentlich unerheblich, ob die Übertragung auch noch verschlüsselt wird, oder nicht.

            Die Zeit für die Entschlüsselung läuft ab dem Moment, in dem Du die Daten außer Haus gegeben hast.
            In wieweit eine doppelte Verschlüsselung dann doppelte oder vierfache Sicherheit gewährleistet, vermag ich nicht zu beantworten.

            Liebe Grüße
            Tom S.

            --
            Es gibt nichts Gutes, außer man tut es
            Andersdenkende waren noch nie beliebt, aber meistens diejenigen, die die Freiheit vorangebracht haben.
            1. Hi TS,

              Wenn Du also Daten, die bei Dir verschlüsselt wurden, auf einen unsicheren Server (außerhalb deines physischen und logischen Einflussbereiches) überträgst, ist es also eigentlich unerheblich, ob die Übertragung auch noch verschlüsselt wird, oder nicht.

              Die Zeit für die Entschlüsselung läuft ab dem Moment, in dem Du die Daten außer Haus gegeben hast.
              In wieweit eine doppelte Verschlüsselung dann doppelte oder vierfache Sicherheit gewährleistet, vermag ich nicht zu beantworten.

              Ist das so? Würde bedeuten, ich kann gar nichts mehr in der Cloud ablegen, stimmts?

              L.

              1. Hallo Lukas.,

                Ist das so?

                Prinzipiell ja. Wobei das etwas überzogen dargestellt wurde. Bisher existiert keine Technologie, mit der hinreichend gut verschlüsselte Daten zuverlässig in geringer Zeit entschlüsselt werden können. Aber wie das in 10 oder auch nur in 5 Jahren aussieht, kann dir keiner sagen.

                Würde bedeuten, ich kann gar nichts mehr in der Cloud ablegen, stimmts?

                Nicht, wenn du sichergehen willst, dass die Daten niemals von anderen gelesen werden können.

                LG,
                CK

                1. Hi,

                  Würde bedeuten, ich kann gar nichts mehr in der Cloud ablegen, stimmts?

                  Nicht, wenn du sichergehen willst, dass die Daten niemals von anderen gelesen werden können.

                  Ungern. Nicht, dass ich wirklich was zu verheimlich habe, aber ich wollte meine z.b. m eine Mails backupen und da habe ich tatsächlich wenig Lust, dass die mitgelesen werden können. Wobei...eigentlich liegen die eh auf dem server meines Providers...insofern wärs auch wieder egal…

                  L.

              2. Hello,

                Würde bedeuten, ich kann gar nichts mehr in der Cloud ablegen, stimmts?

                Du kannst und solltest alles in der Cloud ablegen, was Du unbedenklich teilen willst und darfst.

                Solange es noch private Daten gibt, würde ich die nicht über Netze verteilen, auch nicht "verschlüsselt". Ich las gerade kürzlich einen Artikel einer Sicherheitsbehörde, in dem man erwähnt hat, dass nach_vier_Jahren_Laufzeit ein Entschlüsselungssystem irgendwelche Daten wieder lesbar gemacht hat und man dadurch irgendein Delikt (man schrieb von Mord) aufklären konnte.

                Der Faktor Zeit kann also auch rückwärts laufen...

                Liebe Grüße
                Tom S.

                --
                Es gibt nichts Gutes, außer man tut es
                Andersdenkende waren noch nie beliebt, aber meistens diejenigen, die die Freiheit vorangebracht haben.
                1. Solange es noch private Daten gibt, würde ich die nicht über Netze verteilen, auch nicht "verschlüsselt". Ich las gerade kürzlich einen Artikel einer Sicherheitsbehörde, in dem man erwähnt hat, dass nach_vier_Jahren_Laufzeit ein Entschlüsselungssystem irgendwelche Daten wieder lesbar gemacht hat und man dadurch irgendein Delikt (man schrieb von Mord) aufklären konnte.

                  Ich glaube, sooo geheim sind meine Daten nciht 😉

                  L.

              3. Hallo

                Die Zeit für die Entschlüsselung läuft ab dem Moment, in dem Du die Daten außer Haus gegeben hast.
                In wieweit eine doppelte Verschlüsselung dann doppelte oder vierfache Sicherheit gewährleistet, vermag ich nicht zu beantworten.

                Ist das so? Würde bedeuten, ich kann gar nichts mehr in der Cloud ablegen, stimmts?

                Wenn du Daten auf einen fremden Server überträgst, hat mindestens der Serverbetreiber Zugriff, wenn auch nur auf die verschlüsselten Daten. Verschlüsselungsmethoden haben aber die Eigenart, irgendwann gebrochen zu werden, egal, ob sich Fehler in der Implementierung herausstellen oder ob die Verschlüsselung durch die Entwicklung von Hard- und/oder Software errechnet werdne kann. Dann, auch wenn das vielleicht noch einige Zeit dauert, lassen sich deine verschlüsselten Daten entschlüsseln und derjenige, der das tut, hat Zugriff auf die „echten“ Daten.

                Das Dilemma ist nicht umgehbar. Entweder du lebst damit, z.B. weil du davon ausgehen kannst, dass die Daten zum Zeitpunkt der unberechtigten Entschlüsselung keine Relevanz mehr haben, oder du kannst die fraglichen Daten nicht in fremde Hände geben.

                Tschö, Auge

                --
                Wenn man ausreichende Vorsichtsmaßnahmen trifft, muss man keine Vorsichtsmaßnahmen mehr treffen.
                Toller Dampf voraus von Terry Pratchett
                1. Hallo Auge,

                  Das Dilemma ist nicht umgehbar. Entweder du lebst damit, z.B. weil du davon ausgehen kannst, dass die Daten zum Zeitpunkt der unberechtigten Entschlüsselung keine Relevanz mehr haben, oder du kannst die fraglichen Daten nicht in fremde Hände geben.

                  Ich denke, ersteres ist der Fall. Ich denke, meine Mails von vor 5-10 Jahren sind nicht wirklich interessant.

                  Noch schöner wäre es, wenn ich z.b auf meiner Fritzbox rsync laufen lassen könnte, dann blieben die Daten im Haus. Ansonsten könnte ich n och überlegen, ein ausrangiertes Laptop als Backup-Laptop mitlaufen zu lassen... widerstrebt mir eigentlich; Server läuft eh immer und Fritzbox auch, Nutzung über rsync wäre, wie gesagt wünschenswert…

                  L.

                  1. Hallo

                    … schöner wäre es, wenn ich z.b auf meiner Fritzbox rsync laufen lassen könnte, dann blieben die Daten im Haus.

                    Backup auf einem an der Fritzbox angeschlossenem Speicher? Hoffenlich ist das schnell genug.

                    Ansonsten könnte ich noch überlegen, ein ausrangiertes Laptop als Backup-Laptop mitlaufen zu lassen... widerstrebt mir eigentlich; Server läuft eh immer und Fritzbox auch

                    Ein NAS-Speicher im lokalen Netz oder, falls extern gewünscht ist, ein eigener NAS-Speicher an einem anderen Ort mit Anbindung über VPN wäre auch eine Möglichkeit. Einen alten PC/altes Notebook würde ich dazu nicht betreiben wollen.

                    Tschö, Auge

                    --
                    Wenn man ausreichende Vorsichtsmaßnahmen trifft, muss man keine Vorsichtsmaßnahmen mehr treffen.
                    Toller Dampf voraus von Terry Pratchett
                    1. Backup auf einem an der Fritzbox angeschlossenem Speicher? Hoffenlich ist das schnell genug.

                      Nicht wirklich, aber zuhause hätt' ich Zeit.

                      Ansonsten könnte ich noch überlegen, ein ausrangiertes Laptop als Backup-Laptop mitlaufen zu lassen... widerstrebt mir eigentlich; Server läuft eh immer und Fritzbox auch

                      Ein NAS-Speicher im lokalen Netz oder, falls extern gewünscht ist, ein eigener NAS-Speicher an einem anderen Ort mit Anbindung über VPN wäre auch eine Möglichkeit. Einen alten PC/altes Notebook würde ich dazu nicht betreiben wollen.

                      ... würd' ich auch nicht wollen.

                      NAS im Nezu habe ich (wenn auch nur an der Fritz), aber eine vernünftige inkrementelle Backuplösung nicht, daher meine Idee, wenn rsync auf der Fritz laufen würde…

                      L.

                      Tschö, Auge

                      --
                      > Wenn man ausreichende Vorsichtsmaßnahmen trifft, muss man keine Vorsichtsmaßnahmen mehr treffen.
                      > Toller Dampf voraus von Terry Pratchett
                      1. aber eine vernünftige inkrementelle Backuplösung nicht, daher meine Idee, wenn rsync auf der Fritz laufen würde…

                        http://backintime.readthedocs.io/en/latest/ macht rsync mit Hardlinks (http://www.mikerubel.org/computers/rsync_snapshots/), also inkrementelles Backup, das aussieht und sich beim Zugriff verhält wie ein vollständiges.

                  2. Noch schöner wäre es, wenn ich z.b auf meiner Fritzbox rsync laufen lassen könnte,

                    Das geht (je nach Hardware); alternativ, kann man auf der FritzBox auch eigene Software installieren.

                    dann blieben die Daten im Haus.

                    Wenn man Disaster-Recovery mit einbeziehen möchte (Feuer/Flut/Diebstahl/etc.), ist das nicht unbedingt, der richtige Weg ;-)

                    1. Noch schöner wäre es, wenn ich z.b auf meiner Fritzbox rsync laufen lassen könnte,

                      Das geht (je nach Hardware); alternativ, kann man auf der FritzBox auch eigene Software installieren.

                      Ja, Du kannst die Fritz als NAS laufen lassen. Aber rsync wäre mir neu?

                      dann blieben die Daten im Haus.

                      Wenn man Disaster-Recovery mit einbeziehen möchte (Feuer/Flut/Diebstahl/etc.), ist das nicht unbedingt, der richtige Weg ;-)

                      Klar... aber wie sagt man so schön: "Einen Tod muß man sterben"... 😉

                      1. Ja, Du kannst die Fritz als NAS laufen lassen. Aber rsync wäre mir neu?

                        NFS-Freigabe mounten und dann rsync? rsync funktioniert schließlich auch lokal nicht nur via rsyncd oder ssh.

                        1. Ja, Du kannst die Fritz als NAS laufen lassen. Aber rsync wäre mir neu?

                          NFS-Freigabe mounten und dann rsync? rsync funktioniert schließlich auch lokal nicht nur via rsyncd oder ssh.

                          Wie mache ich das in cygwin? Ich habe das NAS als Netzlaufwerk unter Z eingebunden. Ich kann auch in Cygwin mit cd z:/ dahin wechseln. Aber mein rsync-Befehl schlägt fehl: rsync -asv ./html5/ z:/ $ rsync -asv ./html5/ z:/ ssh: Could not resolve hostname z: Name or service not known rsync: connection unexpectedly closed (0 bytes received so far) [sender] rsync error: error in rsync protocol data stream (code 12) at io.c(226)

                          L.

                          1. Wie mache ich das in cygwin? Ich habe das NAS als Netzlaufwerk unter Z eingebunden.

                            Ich kann auch in Cygwin mit cd z:/ dahin wechseln.

                            Ah, das ist neu (und klingt wie ein schrecklicher Patch, Doppelpunkte in Posix−Pfadnamen sollten keine Sonderbedeutung haben); früher hat cygin die Laufwerke immer nach /cygdrive/z/ gemountet (scheint auch immer noch so zu sein https://cygwin.com/cygwin-ug-net/using.html#cygdrive).

                            Aber mein rsync-Befehl schlägt fehl: rsync -asv ./html5/ z:/ $ rsync -asv ./html5/ z:/

                            rsync -asv ./html5/ /cygdrive/z/
                            
                            1. rsync -asv ./html5/ /cygdrive/z/
                              

                              Klar, Du hast recht. Aber ich habe die Berechtigung nicht. rsync: mkstemp "/cygdrive/z/.b.sh.swo.CL4nLu" failed: Permission denied (13) ... usw. Muß ich mal schauen, wie ich die an der Fritzbox einstelle...

                              L.

      2. du solltest keinen Key eingeben müssen, was hast du denn als Kommando ausgeführt?

        gpg -c benutzer.tar.gz
        

        -c nutzt symmetrische Verschlüsselung und benötigt immer ein Passphrase (o.ä.).

        Du kannst z.B. mit

        gpg --default-recipient-self -e test
        

        die Datei test asymmetrisch verschlüsseln und dabei den Empfänger auf den Standard-GPG-Key des aktuellen Users setzen (andere Empfänger sind möglich); da hierfür nur der öffentliche Key des Empfängers genutzt wird, ist eine Passphrase nur fürs Entschlüsseln nötig.

        1. Hi,

          Du kannst z.B. mit

          gpg --default-recipient-self -e test
          

          die Datei test asymmetrisch verschlüsseln und dabei den Empfänger auf den Standard-GPG-Key des aktuellen Users setzen (andere Empfänger sind möglich); da hierfür nur der öffentliche Key des Empfängers genutzt wird, ist eine Passphrase nur fürs Entschlüsseln nötig.

          Cool. Funktioniert vorzüglich.

          L.

    2. Verwende entweder den gpg-agent, der die passphrase cached oder verwende symmetrische Verschlüsselung und gib die Passphrase in der Kommandozeile an, etwa so:

      gpg --output foo.txt.gpg --passphrase 1234 --symmetric foo.txt
      

      Letzteres ist keine gute Idee, weil die Passphrase dann für alle anderen User sichtbar wird.

      1. Hallo asdf,

        Verwende entweder den gpg-agent, der die passphrase cached oder verwende symmetrische Verschlüsselung und gib die Passphrase in der Kommandozeile an, etwa so:

        gpg --output foo.txt.gpg --passphrase 1234 --symmetric foo.txt
        

        Letzteres ist keine gute Idee, weil die Passphrase dann für alle anderen User sichtbar wird.

        Ja, du hast recht, ich hätte das abraten von dieser Vorgehensweise dazu schreiben sollen.

        LG,
        CK