Gitとの統合
Git認証とコミット署名のためのKeeper SSHエージェント統合

KeeperのSSHエージェントは、Gitとの認証およびコミット署名にシームレスに統合できます。秘密鍵をデバイス上に保存せず、Keeperボルト内で安全に管理することで、機密性の高い鍵のローカルでの漏洩を防ぎ、セキュリティを強化します。
本ページでは、GitHubで使用する認証用キーと署名用キーをそれぞれ作成・設定し、それらをすべてKeeperによって安全に管理する方法を取り扱います。認証と署名で異なる鍵を使用することで、役割を明確に分離し、セキュリティ体制をさらに強化できます。
要件
機能
GitHub認証
以下はKeeperを使用してGitHubで認証する手順です。
SSHキーを生成する
以下のように、Keeperで生成したパスワードを使用して、ターミナルでSSHキーを生成します。
ssh-keygen -t ecdsa -b 521 -C "[email protected]"
Enter passphrase (empty for no passphrase): *********
Enter same passphrase again: *********これにより、公開キーと秘密キーがローカルマシン上に作成されます。
例
/Users/craig/.ssh/id_ecdsa
/Users/craig/.ssh/id_ecdsa.pubこれにより、Keeper ダイアログがすぐに起動し、Github 認証キーを承認するようになります。

[承認] をクリックすると、Keeper に保存されているキーを使用してGithubで認証が行われます。
セットアップが完了しました。
コミットの署名
以下は、Keeperを使って GitHubコミットに署名するための専用キーを作成するて手順です。
SSHキーを生成する
以下のように、Keeperで生成したパスワードを使用して、ターミナルでSSHキーを生成します。
ssh-keygen -t ecdsa -b 521 -C "[email protected]"
Enter passphrase (empty for no passphrase): *********
Enter same passphrase again: *********これにより、公開キーと秘密キーがローカルマシン上に作成されます。
/Users/craig/.ssh/id_ecdsa
/Users/craig/.ssh/id_ecdsa.pubローカル秘密キーを削除する
Keeperで秘密キーが安全に管理されているため、ローカルの秘密キーのみ削除します。公開キー (xxx.pub) は署名時に識別に使用されるため、保持します。
rm /Users/craig/.ssh/id_ecdsa公開キーのファイル名をより分かりやすいものに変更します。
cd ~/.ssh
mv id_ecdsa.pub git_signing_key.pub公開キーを識別できるよう、ユーザー名と公開キーの内容を ~/.ssh/allowed_signers というファイルに記載します。以下の形式で入力します。
[email protected] <git_signing_key.pub の内容>この例では、ファイルの内容は以下のようになります。
[email protected] ecdsa-sha2-nistp521 AAAAE2VjZHNhLXNoYTItbmlzdHA1MjEAAAAIbmlzdHA1MjEAAACFBAD2VeqOZ9bk2ABF6AZ63qJY2sDfz0kJJPfDW0zpres0/p1YGGJBYtyU4l3nIgwx0K2iEKFty429N2NNfIMBsqI+ngDq3/VGaexmZxymJnCzOl9+J1IQr6u05jZHLsk1FOALjOSm9jv4bF/DyK4oh5shKMlTHAeDWPfqMd3JwncSYBzKfA== [email protected]Git署名を有効にする
ターミナルで以下のコマンドを実行し、GitHubにこの新しい署名キーと allowed_signers ファイルを使用するよう指示します。
git config --global user.signingkey ~/.ssh/git_signing_key.pub
git config --global gpg.format ssh
git config --global commit.gpgsign true
git config --global gpg.ssh.allowedSignersFile ~/.ssh/allowed_signersこの操作により、~/.gitconfig に複数の行が追加され、設定がグローバルに適用されます。グローバルではなく、個別のリポジトリごとに設定を行うことも可能です。
署名の検証
リポジトリから、空のコミットを実行して署名プロセスをテストしてみましょう。
git commit --allow-empty -m "Test commit with SSH signing"これにより、キーを承認するためのKeeperダイアログがすぐに起動します。

コミットに署名が適用されたことを確認するには、以下のコマンドを実行します。
git log --show-signature以下のような応答が表示されます。
commit 52319faf2e7c02a (HEAD -> main)
Good "git" signature for [email protected] with ECDSA key SHA256:xxxxxxx
Author: Craig Lurey <[email protected]>
Date: Fri Jan 17 20:18:19 2025 -0800
Test commit with SSH signingセットアップが完了しました。
最終更新




