git-remote-gcrypt für Remote, das von zwei Hosts gemeinsam genutzt wird, Fehler "geheimer Schlüssel nicht verfügbar"

314
Congee

Ich versuche, den (zweiten) einfachsten Anwendungsfall für git-remote-gcrypt zum Laufen zu bringen, nämlich eine gemeinsam genutzte Remote-Station auf nicht vertrauenswürdigem Speicher, die Lese- und Schreibzugriff von zwei Personalcomputern (osx_box, ubuntu_box) hat. Ich bin nicht mit dem alltäglichen Gebrauch von GPG vertraut (verstehe die Konzepte jedoch abstrakt) und bin mit der Verwendung von CLI relativ vertraut.

Der folgende Schritt wurde auf Computern ausgeführt, auf denen keine anderen GPG-Schlüssel verfügbar waren. Es handelt sich also nicht um einen falschen Schlüssel / Tippfehler / Brainfart.

Ich habe einen GPG-Schlüssel mit erstellt

gpg --full-generate-key 

auf jeder Maschine

Vorsicht bei der Verwendung gpg2auf der Ubuntu_box, da ich nicht sicher bin, ob Repos / Keys über die Hauptversionsunterschiede hinweg funktionieren, und die Ubuntu- gpgVersion 1.6 ist.

Von der ubuntu_box habe ich den Schlüssel mit exportiert:

gpg2 --armor --export BF5C7A3B72342BD6ADD6AE65864838DEFB0581D0 > 81d0.asc. 

Diese wurde dann in osx_box kopiert und importiert:

gpg --import 81d0.asc. 

gpg -kon osx_box zeigt dann diesen zu importierenden Schlüssel mit einer passenden (öffentlichen?) Schlüsselsignatur wie bei ubuntu_box an. Woohoo!

Ich erstellte dann ein lokales Repo auf osx_box unter ~ / testgcrypt / repo_A, fügte eine Reihe von Dateien hinzu und legte fest:

git remote add cryptremote  gcrypt::rsync://ubuntu_box:/home/my_username/testgcrypt/test_repo_A git config remote.cryptremote.gcrypt-participants '842E65FCB5AA1C30AEDACFC58A7695DDF9AFA5CC BF5C7A3B72342BD6ADD6AE65864838DEFB0581D0' 

wo 842E65FCB5AA1C30AEDACFC58A7695DDF9AFA5CCist der GPG-Schlüsselfingerabdruck BF5C7A3B72342BD6ADD6AE65864838DEFB0581D0der osx_box und der GPG-Schlüsselfingerabdruck der ubuntu_box.

Ich kann dann das Festschreiben von osx_box wie üblich auf diese Fernbedienung übertragen. Ich kann auch in ein anderes Verzeichnis auf osx_box von gcrypt :: rsync: // ubuntu_box: / home / mein_Benutzername / testgcrypt / test_repo_A reklonen. Ist soweit sinnvoll.

Wenn ich jedoch auf ubuntu_box versuche, gcrypt :: rsync: // ubuntu_box: / home / mein_username / testgcrypt / test_repo_A in ein (ausgechecktes) Repo zu klonen, bekomme ich gpg durch alle verfügbaren Schlüssel (nur 1!). gefolgt von:

gpg: Entschlüsselung fehlgeschlagen: geheimer Schlüssel nicht verfügbar gcrypt: Manifest konnte nicht entschlüsselt werden!

Was gibt es jetzt? Die (ziemlich spärliche) gcrypt-Readme-Datei sagt lediglich, dass die (durch Leerzeichen getrennte) Signatur des GPG-Schlüssels [z. B. ubuntu_box] in der .git / config -Datei des ursprünglichen Repos auf osx_box hinzugefügt werden soll. Dies muss unter der entsprechenden Fernbedienung platziert werden.

git config remote.cryptremote.gcrypt-participants '842E65FCB5AA1C30AEDACFC58A7695DDF9AFA5CC BF5C7A3B72342BD6ADD6AE65864838DEFB0581D0' 

tat

AFAIK, git-remote-gcrypt auf osx_box sollte dann den Schlüsselfingerabdruck von ubuntu_box gesehen haben, den öffentlichen Schlüssel (für das Signieren von verschlüsseltem Exportieren entweder die gleiche pubkey-Datei von ubuntu_box erhalten), etwas Magie und den Geheimtext in ubuntu_box: / home / mein_Benutzername / testgcrypt / test_repo_A. Da gcrypt die Daten mit Wissen verschlüsselt hat, das mit dem Schlüssel von ubuntu_box hand- wavy ist, gehe ich davon aus, dass die Daten auf eine durch ubuntu_box entschlüsselbare Weise verschlüsselt werden sollten. Aber ohne Erfolg ...

EDIT: Es scheint zu funktionieren, wenn ich das Repo auf der ubuntu_box erstelle und auf die osx_box klone. Wenn ich jedoch eine zusätzliche Datei festschreibe und von der osx_box aus pusche, kann ubuntu_box diese Festschreibungen nicht mehr mit dem Fehler "geheimer Schlüssel nicht verfügbar" ziehen ...

0

0 Antworten auf die Frage