質問: 暗号化されたgitリポジトリの設定 状況こんにちは、暗号化されたgitでデータを保存したいと思います( bitbucket または github などのプラットフォーム)。したがって、質問:質問私は別の手間のかからない方法を探しています: 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 試す私は完全なリポジトリ暗号化を好むので、quickstartとexampleのバリエーションを使用してgit-remote-gcryptを試しました。これまでの説明に従って、既存のリポジトリをプッシュしてみました。これは次のようになります:(注:ユーザー名を意図的にuserに変更しました)-> with 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の使用法については、お気軽にご回答ください。
回答: 無料のオープンソースツールは keybase です。 gitはリモートヘルパーをサポートします。そして、オープンソースのものを作りました。 keybaseのリモートヘルパーは、すべての暗号化を実行しながら、gitにその役割を任せます。これは印象的に聞こえるかもしれませんが、keybaseは最初からgitを再実装していません。優れたgo-gitプロジェクトを搭載したリモートヘルパーを提供しています。 表に示します:(1)暗号、(2)チーム+マルチデバイスキー管理、(3)より安全なアイデンティティの概念。 エンドツーエンドで暗号化されています。たとえば、githubのようにホストされていますが、解読できるのはあなた(およびチームメイト)だけです。キーベースにとって、すべては文字化けした混乱です。あなたにとって、それは追加のステップのない定期的なチェックアウトです。 リポジトリ名とブランチ名でさえ暗号化されているため、keybaseのスタッフや侵入者には読めません。 チームワークは keybase teams でサポートされています: キーベースチームは、柔軟なメンバーシップを備えた、指名された人々のグループです。 treehouseというプロジェクトに取り組んでいるとしましょう。キーベースにツリーハウスを登録できます。このチーム名は普遍的です。特定の名前を持つキーベースチームは1つだけです。 チームはチャットとチャネルを取得します。チャットはslackやdiscordに少し似ています。 ただし、keybaseチームワークはエンドツーエンドで暗号化されているため、サーバーのハッキングを心配する必要はありません。