【1Password移行⑤】SSH agent の初期設定──鍵の登録と config の書き換え
前回は移行の全体像を確認しました。
今回は実際に手を動かして、1Password SSH agentの初期設定をやっていきます。
まず1本だけ移行してSSH接続が通ることを確認するところまでやります。
目次
前提:1Passwordのデスクトップアプリが必要
SSH agentはブラウザ拡張やCLIだけでは動きません。
1Passwordのデスクトップアプリが必要です。macOSの場合はMac App StoreかWebサイトからダウンロードできます。
またCLI(op)も後で使うのでインストールしておきます。
# macOS(Homebrew)
brew install 1password-cliStep 1:SSH agentを有効化する
1Passwordアプリの設定から有効にします。
- 1Passwordアプリを開く
- メニューバーの1Passwordアイコン → 「設定」
- 「開発者」タブを開く
- 「SSH Agent を使用」にチェックを入れる
これでSSH agentが起動します。
ソケットのパスは ~/Library/Group Containers/2BUA8C4S2C.com.1password/t/agent.sock です(macOSの場合)。
Step 2:SSHキーを1Passwordに登録する
まず1本だけ試してみます。GitHub用の鍵で試すのがおすすめです。
1Passwordアプリからインポートする方法:
- 1Passwordアプリで「新しいアイテム」→「SSH Key」を選択
- 「秘密鍵をインポート」をクリック
~/.ssh/id_ed25519(秘密鍵ファイル)を選択- アイテム名を入力して保存(例:
SSH-GitHub)
インポートが完了すると、アイテムの中に秘密鍵と公開鍵の両方が保存されます。
Step 3:~/.ssh/config を書き換える
SSH agentを使うように設定します。
Host *
IdentityAgent "~/Library/Group Containers/2BUA8C4S2C.com.1password/t/agent.sock"この設定を追加すると、SSH接続時に1Password SSH agentに問い合わせるようになります。
GitHubだけ1Password経由にして他は従来の鍵を使いたい場合は、Hostを絞ることもできます。
Host github.com
IdentityAgent "~/Library/Group Containers/2BUA8C4S2C.com.1password/t/agent.sock"Step 4:動作確認
GitHubへの接続で確認します。
ssh -T git@github.com初回接続時に1Passwordのポップアップが出てきます。
「許可」を押すと認証が通って、こんな表示が出れば成功です。
Hi username! You've successfully authenticated, but GitHub does not provide shell access.1Passwordのポップアップが出ずに接続が通っている場合は、まだ元の鍵ファイルが使われている可能性があります。
元の秘密鍵ファイルを一時的にリネームして確認してみてください。
mv ~/.ssh/id_ed25519 ~/.ssh/id_ed25519.bak
ssh -T git@github.com
# 1Passwordポップアップが出て認証通ったらOKStep 5:GitHubに公開鍵を登録する(新しい鍵を作る場合)
既存の鍵をインポートした場合は公開鍵は同じなので、GitHubへの再登録は不要です。
新しい鍵を1Passwordで生成した場合は、公開鍵をGitHubに登録し直す必要があります。
公開鍵は1Passwordアプリのアイテム詳細からコピーできます。
またはCLIで取り出すこともできます。
op item get SSH-GitHub --fields "public key"次回 B-3 では、残りの鍵を一括で移行して、ディスク上のファイルを削除していきます。
今回は以上です!