パスワードマネージャーとして有名な 1Password は、開発者向けに 1Password CLI を提供しています。
その中で SSH 鍵を管理する機能が提供されています。
このドキュメントに沿って、Git の SSH 鍵を 1Password で管理できるようにします。
ステップ1: SSH 鍵を生成
個人
またはプライベート
(Businessプランなどでは従業員
)の保管庫で新規アイテム
からSSHキー
を選択します。
保管庫は上記のいずれかでないといけません。
自分で作成した保管庫などでは利用できません。
名前はお好きな名前に設定します。
秘密鍵を追加
から新しい鍵を生成
を押し、鍵の種類はどちらかを選びます。
そして生成
をクリック。
鍵が生成されたら保存
をします。
ステップ2: 公開鍵をアップロード
下記の GitHub の SSH 追加ページにアクセスし、先程作成した公開鍵をアップロードします。
https://github.com/settings/ssh/new
- Title
- 任意の名前を追加
- Key type
- Authentication Key
- Key
最後に Add SSH key
を押します。
ステップ3: 1Password SSHエージェントを有効化する
1Password のデスクトップアプリには、SSH クライアントの認証を裏で制御する SSHエージェントの機能があります。
- 1Password アプリの設定画面から
開発者
を選びます -
SSHエージェントを設定
を選びます - その他のオプションを選択します。ここは任意に設定します
一度SSHエージェントを設定すると、SSHエージェントを設定
の項目がSSHエージェントを使用
に変わるため、設定前の日本語の文言が何であるか正確には私はわかりませんでした…
1Password アプリを閉じてもSSHエージェントを動作させ続けるために以下を実施します。
ステップ4: SSH クライアントを設定する
最後に SSH クライアントが 1Password の SSHエージェントを使うように設定をします。
~/.ssh/config
ファイルに下記を追記します。
Host *
IdentityAgent "~/Library/Group Containers/2BUA8C4S2C.com.1password/t/agent.sock"
ステップ5: SSH 接続を確認する
下記コマンドを実行して GitHub との SSH 接続を確認します。
ssh -T git@github.com
> Hi ****! You've successfully authenticated, but GitHub does not provide shell access.
これで git clone
や git pull
などを利用できます!
参考