私は、さまざまなスクリプト(および人々)が使用する、社内のパスワードストレージをセットアップしようとしています。私は多くの代替案を検討しましたが、私の目標を達成するために変更するのが最も簡単なのは pass
ユーティリティのようです。
GPGに関しては、セキュリティと本当の初心者は得意ではありません。私は何とかして単一のユーザーのために物事を機能させることができました:
pass init <key_hex>
を使用また、-p
オプション(またはenv変数)を使用して、ホームディレクトリ(デフォルトは~/.password-store
)ではなく、「データ」フォルダー内のパスストレージを初期化できることも知っています。
しかし、私は(Linux)ホスト/ボックスのすべてのユーザー(または後で特定のグループのユーザー)が同じパスワードストアにアクセスできるようにしたい状況にあります。私の理解では、これらすべてのユーザーの共有GPGキーを何らかの方法で作成して、各ユーザーがpass
ユーティリティを使用して同じストアにアクセスし、パスワードを取得できるようにする必要があります。私はそのようなセットアップを行う方法を知る手がかりがなく、ちょっと行き詰まっています...
どんな助けでもいただければ幸いです
複数のgpg-idを.gpg-id
ファイルに追加して、ディレクトリ内の各パスワードを暗号化できます。そうすることで、秘密鍵を全員に渡さなくても、さまざまなメンバー間でパスワードストアを共有できるようになります。
必要に応じて、gpg-idのセットが異なるサブディレクトリを作成することもできます。
詳細については、init
セクションのman pass
をご覧ください。
プロセスの概要を説明した優れた記事を次に示します。 https://medium.com/@davidpiegza/using-pass-in-a-team-1aa7adf36592
お役に立てれば。
本来の目的ではない秘密鍵の共有を回避するために、gopass
の比較的新しい pass
代替案を確認することをお勧めします。はpass
と互換性があり、git
ベースのワークフローを適用しながら、複数の受信者をネイティブでサポートできます。
それはオープンソースで、ベースになっていて、 Github で利用できます。
マルチユーザー環境でパスを使用するときに現在欠けている可能性のある次の機能を備えています。
これは、パスワードを共有するためにチームで作業するときに本当に興味深いものです。
これはpass
と同じです。つまり、gpg
を使用し、.gpg
ファイルの最初の行にpass
と同じ形式でパスワードを保存します。等.
Gopassを使用した通常のワークフローは次のとおりです。
pass
を1つ取得して)、各受信者をそれに追加します。良い点は、パスワードストアへのすべてのコミットが gitで署名 であり、pass
などのPGPスマートカードと互換性があることです。また、すでにGoを使用している場合は、好きなように微調整するのは簡単です。コードには、広範な単体テストと十分なドキュメントが付属しています。
あなたの特定のケースでは、それはかなりうまくいくはずです。完全にリモートのgitサーバーを避けて、共通のフォルダーに保存することもできます。
各ユーザーは、passへのアクセス権を持ち、キーチェーンにGPGキーが存在する状態で、そのディレクトリにpass initを実行します(自分のものではなく2番目のキー)
まず、パスストアがgitで初期化されていることを確認してください。
必要なパスワードを追加します。すべてのユーザーがアクセスできるリポジトリにコミットしてプッシュします。
次に、各ユーザーはあなたの暗号化されたパスワードを含むこのGitリポジトリを複製します(GPGキーは含まれません)
次の方法でGPGキーを拡散できます。
gpg --export-secret-key -a "User Name" > private.key
そして、それをユーザーごとにインポートします
gpg --allow-secret-key-import --import private.key
最後に、各ユーザーは、共有されたGPGキーIDを持つ独自のパスリポジトリです。
init [ --path=sub-folder, -p sub-folder ] gpg-id...
あなたはキーIDを取得することができます
gpg --list-keys
注意:秘密鍵を共有するロジスティックについて考える必要があります。
私はこの良い[email protected]を引用しています GPGに関するチートシート
使用例* .2:上記は秘密鍵のエクスポートとインポートのコマンドですが、これを行う理由の1つを説明します。基本的に、グループに属していて、そのグループの単一の鍵ペアを作成したい場合、1人が鍵ペアを作成し、公開鍵と秘密鍵をエクスポートして、グループの他のメンバーに渡します。彼らはすべてその鍵ペアをインポートします。次に、グループのメンバーまたは外部の誰かがグループの公開鍵を使用し、メッセージやデータを暗号化して、グループのメンバーに送信すると、全員がメッセージやデータにアクセスできるようになります。基本的には、暗号化されたものを複数の受信者に送信するために必要な公開鍵が1つだけの単純化されたシステムを作成できます。