暗号化されたgitリポジトリのセットアップ


30

状況

こんにちは、(bitbucketgithubなどのプラットフォームで)暗号化されたgitでデータを保存したいと思います。したがって、質問:

質問

さまざまな手間のかからない方法を探しています:暗号化されたリポジトリをbitbucket(/ github)
に設定する方法は?今、私はgitが初めてなので、必要なすべてのステップまたはステップバイステップの説明は大歓迎です!

"研究"

gitの-cryptの
私が見つかりましたgitの-cryptのを、が、サイト上で、それは、単一のファイルの暗号化のために意図だと述べられています。リポジトリ全体を暗号化する場合は、git-remote-gcryptに転送します。

git-remote-gcrypt README.rst
では、次のようにシンプルにしています。

クイックスタート

git remote add cryptremote gcrypt::rsync://example.com:repo
git push cryptremote master
> gcrypt: Setting up new repository
> gcrypt: Remote ID is :id:7VigUnLVYVtZx8oir34R
> [ more lines .. ]
> To gcrypt::[...]
> * [new branch]      master -> master

または下

# notice that the target git repo must already exist and its
# `next` branch will be overwritten!
git remote add gitcrypt gcrypt::git@example.com:repo#next
git push gitcrypt master

トライ

私は完全なリポジトリ暗号化を好むのでgit-remote-gcryptQuickstartExampleのバリエーションを試しました。これまでのところ、私は彼らの指示に従って既存のリポジトリをプッシュしようとしました。これは、これをもたらします:(注:私は意図的にユーザー名をに変更しましたuser

-> ssh提供された例のように

[...]/git_test$ git remote add origin gcrypt::git@bitbucket.org:user/test.git
[...]/git_test$ git push -u origin --allgcrypt: Development version -- Repository format MAY CHANGE
gcrypt: Repository not found: git@bitbucket.org:user/test.git
gcrypt: Setting up new repository
gcrypt: Remote ID is :id: ...
Zähle Objekte: 10, Fertig.
Komprimiere Objekte: 100% (6/6), Fertig.
Total 10 (delta 0), reused 0 (delta 0)
gcrypt: Encrypting to: --throw-keyids --default-recipient-self
gcrypt: Requesting manifest signature
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
error: Fehler beim Versenden einiger Referenzen nach 'gcrypt::git@bitbucket.org:user/test.git'

またはhttps(機能した)

[...]/git_test$ git remote add gitcrypt gcrypt::https://user@bitbucket.org/user/test.git
[...]/git_test$ git push -u gitcrypt --allgcrypt: Development version -- Repository format MAY CHANGE
Password for 'https://user@bitbucket.org': 
gcrypt: Repository not found: https://user@bitbucket.org/user/test.git
gcrypt: Setting up new repository
Password for 'https://user@bitbucket.org': 
gcrypt: Remote ID is :id: ...
Zähle Objekte: 10, Fertig.
Komprimiere Objekte: 100% (6/6), Fertig.
Total 10 (delta 0), reused 0 (delta 0)
gcrypt: Encrypting to: --throw-keyids --default-recipient-self
gcrypt: Requesting manifest signature
Password for 'https://user@bitbucket.org': 
To gcrypt::https://user@bitbucket.org/user/test.git
 * [new branch]      master -> master
Branch master konfiguriert zum Folgen von Remote-Branch master von gitcrypt.

それにもかかわらず、私は理解していないユーザーを追加したりする方法だけでも、私のバックアップを引っ張る(私のGPGキーがローカルで生成されたので)別のマシンに!?の使用法についてお気軽にお答えくださいgit-remote-gcrypt


これらは関連している可能性があります。- superuser.com /questions/676497/…提供された[filter] [3] sリンクは、プッシュ/プル時にコード(/ content)を変更するgit機能のトリッキーな使用法であると信じさせました。そして、暗号化/復号化は提供されたスクリプトによって行われます。その場合は、これらのスクリプトの手間をかけずに簡単にセットアップできる方法(git-remote-gcryptなどのプログラム)を好むでしょう。さらに、これによりリポジトリの内容が明らかになりますよね?
gr4nt3d

- superuser.com/questions/900656/...何の答えを持っていないビットバケットと特異的に同様の質問を。
gr4nt3d


@Nifleは、最初のコメントのようにフィルターメソッドのようです。これにより、リポジトリ全体またはファイルコンテンツのみが暗号化されますか?
-gr4nt3d

1
git-remote-gcryptまたはKeybaseを見ましたか?
-harrymc

回答:


18

無料のオープンソースツールは Keybaseです。

Gitはリモートヘルパーをサポートしています。そして、オープンソースを作成しました。

Keybaseのリモートヘルパーは、gitに任せながらすべての暗号を実行します。これは印象的に聞こえるかもしれませんが、Keybaseはgitをゼロから再実装していません。優れたgo-gitプロジェクトを活用したリモートヘルパーを提供します。

テーブルに(1)暗号、(2)チーム+マルチデバイスキー管理、(3)より安全なIDの概念を追加します。

エンドツーエンドで暗号化されています。たとえば、GitHubのようにホストされていますが、あなた(およびチームメイト)だけがそれを解読できます。キーベースにとって、すべては文字化けした混乱にすぎません。あなたにとって、それは追加のステップなしの定期的なチェックアウトです。

リポジトリ名やブランチ名でさえ暗号化されているため、キーベースのスタッフや侵入者は読み取ることができません。

チームワークはキーベースチームを介してサポートされてい ます

キーベースチームは、メンバーシップが柔軟な名前付きグループです。Treehouseというプロジェクトに取り組んでいるとしましょう。キーベースにツリーハウスを登録できます。このチーム名は普遍的です。指定された名前のキーベースチームは1つしか存在できません。

チームはチャットとチャンネルを取得します。チャットはSlackまたはDiscordに少し似ています。

ただし、キーベースのチームワークはエンドツーエンドで暗号化されているため、サーバーのハッキングについて心配する必要はありません。

キーベース


2
素敵なツールがあります!しかし、それは閉じたエコシステムのようです。キーベース以外のユーザーと連携する方法を示すヒントが見つかりませんでした。これは可能ですか?チーム全体にこのツールの使用を強制するか、このツールに依存していることは、まだ利点よりも重要だと思います。
gr4nt3d

これはオープンソースです。開発したツールはこれ以上オープンになりますか?
-harrymc

私は使用法について言及していました。また、gitリモートヘルパーが実際にどのように機能するかわかりません。キー(これはpgpではなく、新しいものです)とこのヘルパーを使用できますが、GUIは使用できませんか?
gr4nt3d

私はこれらの質問に答えることができません-私はそれに深く入りませんでした。
-harrymc

サードパーティ製のツールで使用できますか?
マイキー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.