EnglischFranzösischSpanisch

Ad


OnWorks-Favicon

git-remote-gcrypt – Online in der Cloud

Führen Sie git-remote-gcrypt im kostenlosen Hosting-Anbieter OnWorks über Ubuntu Online, Fedora Online, den Windows-Online-Emulator oder den MAC OS-Online-Emulator aus

Dies ist der Befehl git-remote-gcrypt, der beim kostenlosen Hosting-Anbieter OnWorks mit einer unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, dem Windows-Online-Emulator oder dem MAC OS-Online-Emulator ausgeführt werden kann

PROGRAMM:

NAME/FUNKTION


git-remote-gcrypt – GNU Privacy Guard-verschlüsseltes Git Remote

BESCHREIBUNG


Remote-Hilfsprogramme werden von Git aufgerufen, um den Netzwerktransport abzuwickeln. Dieser Helfer
Griffe gcrypt:: URLs, die über unsere auf ein mit GPG verschlüsseltes Remote-Repository zugreifen
benutzerdefiniertes Format.

Unterstützte Standorte sind aus einer regionalen, rsync:// und sftp: //, wo das Repository als gespeichert ist
Satz von Dateien, oder stattdessen eine beliebige wobei gcrypt dieselbe Darstellung in a speichert
Git-Repository, überbrückt über beliebigen Git-Transport.

Ziel ist es, vertrauliche, authentifizierte Git-Speicherung und Zusammenarbeit bereitzustellen
Typische nicht vertrauenswürdige Dateihosts oder -dienste. BITTE helfen Sie uns zu beurteilen, wie gut wir dies erfüllen
Designziel!

Anmerkungen:
Dies ist eine Entwicklungsversion – das Repository-Format kann sich ändern.

Schnellstart
· Installieren git-remote-gcrypt indem Sie das mitgelieferte ausführen install.sh Skripte.

· Erstellen Sie eine verschlüsselte Fernbedienung, indem Sie darauf drücken:

git remote add cryptremote gcrypt::rsync://example.com:repo
Git Push Cryptremote Master
> gcrypt: Neues Repository einrichten
> gcrypt: Remote-ID ist :id:7VigUnLVYVtZx8oir34R
> [mehr Zeilen..]
> Zu gcrypt::[...]
> * [neuer Zweig] Master -> Master

CONFIGURATION


Folgende git-config(1) Variablen werden unterstützt:

Fernbedienung. .gcrypt-Teilnehmer

gcrypt.participants
Durch Leerzeichen getrennte Liste der GPG-Schlüssel-IDs. Die Fernbedienung wird mit diesen verschlüsselt
Es werden nur Unterschriften von Teilnehmern akzeptiert. gpg -k listet alle öffentlichen auf
Schlüssel, die Sie kennen.

Wenn diese Option nicht gesetzt ist, verschlüsseln wir mit Ihrem Standardschlüssel und akzeptieren alle gültigen
Unterschrift. Dieses Verhalten kann auch explizit durch die Einstellung von Teilnehmern angefordert werden
zu einfach.

Das gcrypt-Teilnehmer Die Einstellung auf der Fernbedienung hat Vorrang vor dem Repository
Variable gcrypt.participants.

Fernbedienung. .gcrypt-publish-participants

gcrypt.publish-participants
Standardmäßig werden die GPG-Schlüssel-IDs der Teilnehmer durch die Verschlüsselung mit verdeckt
gpg -R. Setzen Sie diese Option auf was immer dies auch sein sollte. deaktiviert diese Sicherheitsmaßnahme.

Das Problem mit der Verwendung gpg -R ist das zum Entschlüsseln, gpg probiert jedes verfügbare Geheimnis aus
Schlüssel nacheinander, bis ein verwendbarer Schlüssel gefunden wird. Dies kann zu einer unnötigen Passphrase führen
Eingabeaufforderungen.

Fernbedienung. .gcrypt-signingkey

user.signingkey
(Letzteres aus der regulären Git-Konfiguration) Der zum Signieren zu verwendende Schlüssel. Du solltest
kompensieren user.signingkey wenn Ihr Standardsignaturschlüssel nicht Teil des Teilnehmers ist
Liste. Sie können die Per-Remote-Version verwenden, um verschiedene Remotes mit unterschiedlichen Signaturen zu signieren
Schlüssel.

VARIABLEN


GCRYPT_FULL_REPACK
Diese Umgebungsvariable erzwingt beim Pushen ein vollständiges Neupacken.

Beispiele:


So richten Sie eine Remote-Verbindung für zwei Teilnehmer ein:

git remote add cryptremote gcrypt::rsync://example.com:repo
git config remote.cryptremote.gcrypt-participants „KEY1 KEY2“
Git Push Cryptremote Master

So verwenden Sie ein Git-Backend:

# Beachten Sie, dass das Ziel-Git-Repo bereits vorhanden sein muss
# `nächster` Zweig wird überschrieben!
git remote gitcrypt hinzufügen gcrypt::[E-Mail geschützt] :repo#next
Git Push Gitcrypt Master

Das URL-Fragment (#nächste hier) gibt an, welcher Backend-Zweig verwendet wird.

ANMERKUNG


Zusammenarbeit
Die Verschlüsselung des Manifests wird bei jedem Push entsprechend dem Teilnehmer aktualisiert
Aufbau. Jeder pushende Benutzer muss über die öffentlichen Schlüssel aller Mitarbeiter verfügen und
Korrekte Teilnehmerkonfiguration.

Abhängigkeiten
rsync und curl für Fernbedienungen rsync: und SFTP: bzw. Die wichtigste ausführbare Datei
erfordert eine POSIX-kompatible Shell, die unterstützt aus einer regionalen.

GNU Datenschutz Bewachen
Sowohl GPG 1.4 als auch 2 werden unterstützt. Sie benötigen einen persönlichen GPG-Schlüssel. GPG-Konfiguration
gilt für die Algorithmenauswahl für die Verschlüsselung mit öffentlichem Schlüssel, die symmetrische Verschlüsselung und
Unterzeichnung. Sehen Mann gpg um mehr zu erfahren.

Remote ID
Die Remote-ID ist nicht geheim; Es stellt nur sicher, dass zwei Repositorys vom signiert sind
derselbe Benutzer kann unterschieden werden. Wenn sich die Remote-ID ändert, wird eine Warnung angezeigt.
Dies sollte nur passieren, wenn die Fernbedienung neu erstellt wurde.

Dokumente Format
EncSign(X): Signieren und verschlüsseln Sie mit dem GPG-Schlüsselhalter
Verschlüsseln(K,X): Mit symmetrischem Schlüsselalgorithmus verschlüsseln
Hash(X): SHA-2/256

B: Filialliste
L: Liste des Hashs (Hi) und Schlüssel (Ki) für jede Packdatei
R: Remote-ID

So schreiben Sie das Repository:

Speichern Sie jede Packdatei P as Verschlüsseln(Ki, P)P' im Dateinamen Hi
woher Ki ist eine neue Zufallszeichenfolge und Hash(P')Hi
Geschäft EncSign(B || L || R) im Manifest

So lesen Sie das Repository:

Manifestieren, entschlüsseln und verifizieren mit GPG-Schlüsselbund → (B, L, R)
Warnen, wenn R stimmt nicht mit der zuvor gesehenen Remote-ID überein
für jede Hallo, Ki in L:
Eine Datei bekommen Hi vom Server → P'
Verify Hash(P') Streichhölzer Hi
Entschlüsseln P' Verwendung von KiP dann öffne dich P mit git

Manifest Datei
Beispiel einer Manifestdatei (der Kürze halber mit Auslassungspunkten):

$ gpg -d 91bd0c092128cf2e60e1a608c31e92caf1f9c1595f83f2890ef17c0e4881aa0a
542051c7cd152644e4995bda63cc3ddffd635958 refs/heads/next
3c9e76484c7596eff70b21cbe58408b2774bedad refs/heads/master
pack :SHA256:f2ad50316...cd4ba67092dc4 z8YoAnFpMlW...3PkI2mND49P1qm
pack :SHA256:a6e17bb4c...426492f379584 82+k2cbiUn7...dgXfyX6wXGpvVa
keep :SHA256:f2ad50316...cd4ba67092dc4 1
repo :id:OYiSleGirtLubEVqJpFF

Jedes Element erstreckt sich bis zum Zeilenumbruch und entspricht einem der folgenden Elemente:


Git-Objekt-ID und seine Referenz

Packungen : :
Packfile-Hash (Hi) und entsprechender symmetrischer Schlüssel (Ki).

halten : :
Packfile-Hash und seine Repack-Generierung

Repo
Die Remote-ID

extn ...
Erweiterungsfeld, erhalten, aber unbenutzt.

ERKENNUNG GCRYPT REST


Um zu erkennen, ob es sich bei einer Git-URL um ein Gcrypt-Repo handelt, verwenden Sie: git-remote-gcrypt --check url Exit status if
0, wenn das Repo existiert und entschlüsselt werden kann, 1, wenn das Repo gcrypt verwendet, dies aber nicht möglich war
entschlüsselt und 100, wenn das Repo nicht mit gcrypt verschlüsselt ist (oder nicht darauf zugegriffen werden konnte).

Beachten Sie, dass hierdurch die Repo-Inhalte in das lokale Git-Repository abgerufen werden müssen, genau wie
Dies erfolgt bei Verwendung eines gcrypt-Repositorys.

Verwenden Sie git-remote-gcrypt online über die Dienste von onworks.net


Kostenlose Server & Workstations

Laden Sie Windows- und Linux-Apps herunter

Linux-Befehle

Ad