これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの XNUMX つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド git-crypt です。
プログラム:
NAME
git-crypt - Git での透過的なファイル暗号化
SYNOPSIS
git-crypt [OPTIONS] COMMAND [ARGS...]
COMMON コマンド
git-crypt INIT
git-crypt status
git-crypt ロック
GPG コマンド
git-crypt 追加 gpg ユーザー GPG_USER_ID
git-crypt アンロック
対称的 キー コマンド
git-crypt エクスポートキー 出力キーファイル
git-crypt アンロック キー_ファイル
DESCRIPTION
git-crypt git リポジトリ内のファイルの透過的な暗号化と復号化を有効にします。
保護することを選択したファイルはコミット時に暗号化され、チェックを入れると復号化されます。
外。 git-crypt を使用すると、パブリックとプライベートが混在するリポジトリを自由に共有できます
コンテンツ。 git-crypt は正常に機能を低下させるため、秘密鍵を持たない開発者でも引き続き
クローンを作成し、暗号化されたファイルを含むリポジトリにコミットします。 これにより、秘密を保存できるようになります
コードと同じリポジトリにあるマテリアル (キーやパスワードなど) を、
リポジトリ全体をロックダウンする必要があります。
コマンド
git-crypt は論理的に、異なるタスクを実行するいくつかのサブコマンドに分割されます。
各サブコマンドとその引数については、以下に説明します。 引数とオプションに注意してください
to サブコマンドはコマンドラインで指定する必要があります After サブコマンドの名前。
INIT [OPTIONS]
キーを生成し、現在の Git リポジトリが git-crypt を使用できるように準備します。
次のオプションが理解されます。
-k KEY_NAME, --キー名 KEY_NAME
デフォルトのキーの代わりに指定されたキーを初期化します。 git-crypt は複数の機能をサポートしています
リポジトリごとにキーを作成できるため、異なるファイルを異なるセットで共有できます。
共同編集者。
status [OPTIONS]
リポジトリ内のファイルのリストとそのステータス (暗号化または
暗号化されていません)。
次のオプションが理解されます。
-e
暗号化されたファイルのみを表示します。
-u
暗号化されていないファイルのみを表示します。
-f, - 修理
暗号化する必要があるがリポジトリにコミットされたファイルを暗号化するか、
暗号化せずにインデックスに追加されます。 (これは、ファイルが前に追加された場合に発生する可能性があります。
git-crypt は初期化されるか、ファイルが gitattributes ファイルに追加される前に行われます。)
追加 gpg ユーザー [OPTIONS] GPG_USER_ID...
指定された GPG ユーザー ID を持つユーザーをコラボレーターとして追加します。 具体的には、git-crypt
使用されます gpg(1) 共有対称鍵を各 GPG ユーザーの公開鍵に暗号化する
ID を取得し、GPG 暗号化キーをルートの .git-crypt ディレクトリに保存します。
リポジトリ。
GPG_USER_ID キー ID、完全な指紋、電子メール アドレス、またはその他のものを使用できます
GPG に対する公開キーを一意に識別するものです (「ユーザー ID を指定する方法」を参照してください)
gpg(1) マニュアルページ)。
次のオプションが理解されます。
-k KEY_NAME, --キー名 KEY_NAME
デフォルトのキーではなく、指定されたキーへのアクセスを許可します。
-n, --コミットなし
変更を .git-crypt ディレクトリに自動的にコミットしないでください。
-信頼できる
コマンド ラインで指定された GPG キーは信頼できると仮定します。 つまり彼らは
実際には、自分が属していると主張しているユーザーに属しています。
このオプションを使用しない場合、git-crypt は GPG と同じ信頼モデルを使用します。
デフォルトでは Web of Trust。 このモデルでは、git-crypt は次のような GPG キーを拒否します。
信頼できる署名がありません。
Web of Trust を使用したくない場合は、GPG の信頼モデルを変更することができます。
設定することにより 信頼モデル 内のオプション 〜/ .gnupg / gpg.conf (参照してください gpg(1))、または
-信頼できる オプション 追加 gpg ユーザー ケースバイケースで。
アンロック [キー_ファイル...]
リポジトリを復号化します。 XNUMX つ以上のキー ファイルがコマンド ラインで指定されている場合、
git-crypt は、これらの共有対称キーを使用して復号化を試みます。 キーファイルがない場合
指定された場合、git-crypt は、
リポジトリの .git-crypt ディレクトリ。
このコマンドにはオプションはありません。
エクスポートキー [OPTIONS] ファイル名
リポジトリの共有対称キーを指定されたファイルにエクスポートします。
次のオプションが理解されます。
-k KEY_NAME, --キー名 KEY_NAME
デフォルトのキーではなく、指定されたキーをエクスポートします。
助けます [COMMAND]
指定されたヘルプを表示する COMMAND、コマンドがない場合はすべてのコマンドの概要
指定。
バージョン
現在インストールされているバージョンを出力します。 git-crypt。 出力の形式は常に次のとおりです。
「git-crypt」の後にスペース、その後にドット付きのバージョン番号が続きます。
使用する GIT 暗号化
まず、次のコマンドを実行して git-crypt を使用するリポジトリを準備します。 git-crypt INIT.
次に、暗号化するファイルを指定します。 git属性(5) ファイル。 各ファイル
暗号化したいものには「filter=git-crypt diff=git-crypt」を割り当てる必要があります。
属性。 例えば:
Secretfile filter=git-crypt diff=git-crypt
*.key filter=git-crypt diff=git-crypt
.gitignore ファイルと同様、.gitattributes ファイルはワイルドカードと一致する可能性があるため、チェックする必要があります。
リポジトリに。 .gitattributes ファイルを誤って暗号化しないように注意してください
それ自体 (または .gitignore や .gitmodules などの他の git ファイル)。 .gitattributes を確認してください
ルールが定められている 機密ファイルを追加しないと、それらのファイルは暗号化されません。
GPG を使用してリポジトリを他の人 (または自分自身) と共有するには、次を実行します。
git-crypt add-gpg-user GPG_USER_ID
GPG_USER_ID キー ID、完全な指紋、電子メール アドレス、またはその他のあらゆるものを指定できます。
GPG に対する公開鍵を一意に識別します。 ノート: git-crypt 追加 gpg ユーザー 追加してコミットします
リポジトリのルートの .git-crypt ディレクトリにある GPG 暗号化キー ファイル。
あるいは、対称秘密鍵をエクスポートすることもできます。これは安全に伝達する必要があります。
共同作業者 (GPG は必要なく、リポジトリにファイルは追加されません):
git-crypt エクスポートキー /パス/へ/キー
暗号化されたファイルを含むリポジトリのクローンを作成した後、GPG を使用してロックを解除します。
git-crypt ロック解除
または対称キーを使用する場合:
git-crypt ロック解除 /path/to/key
git-crypt を設定した後 (または git-crypt INIT or
git-crypt アンロック)、通常どおり git を使用できます - 暗号化と復号化が行われます
透明に。
、 .GIT属性 FILE
.gitattributes ファイルについては、次のドキュメントに記載されています。 git属性(5)。 ファイルパターンの形式は、
に記載されているように、.gitignore で使用されるものと同じです。 ギグノーレ(5) ただし、次の点を除きます。
単にディレクトリ (「/dir/」など) を指定するだけです。 すべてのファイルを暗号化するには十分です
その下。
また、パターン「dir/*」は dir/ のサブディレクトリにあるファイルと一致しないことに注意してください。 に
サブツリー dir/ 全体を暗号化するには、 dir/.gitattributes に以下を配置します。
* フィルター=git-crypt diff=git-crypt
.gitattributes !filter !diff
XNUMX 番目のパターンは、.gitattributes 自体が暗号化されないようにするために不可欠です。
複数 キー サポート
暗黙的なデフォルトキーに加えて、git-crypt は代替キーをサポートしています。
特定のファイルを暗号化するために使用され、特定の GPG ユーザーと共有できます。 これは便利です
異なる共同作業者に異なるファイルセットへのアクセスを許可したい場合。
という名前の代替キーを生成するには、 キーネーム、合格 -k キーネーム オプション git-crypt INIT
次のように:
git-crypt init -k キーネーム
代替キーを使用してファイルを暗号化するには、 git-crypt-キーネーム フィルターイン
.gitattributes は次のようになります。
秘密ファイル フィルター=git-crypt-キーネーム diff=git-crypt-キーネーム
代替キーをエクスポートするか、GPG ユーザーと共有するには、 -k キーネーム オプション
git-crypt エクスポートキー or git-crypt 追加 gpg ユーザー 次のように:
git-crypt エクスポートキー -k キーネーム /パス/へ/キーファイル
git-crypt add-gpg-user -k キーネーム GPG_USER_ID
代替キーを使用してリポジトリのロックを解除するには、次を使用します。 git-crypt アンロック 通常は。 git-crypt
どのキーが使用されているかを自動的に判断します。
onworks.net サービスを使用してオンラインで git-crypt を使用する