【1Password移行④】SSH移行の全体像──~/.ssh の棚卸しから始める
Series Bでは、SSHキーを1Passwordに移行していきます。
まずは全体像を把握するところから。
「SSHキーなんて1個か2個でしょ」と思っていたんですが、棚卸ししてみたら意外とありました。
まず ~/.ssh を棚卸しする
こんなコマンドで何が入っているか確認できます。
ls -la ~/.ssh/自分の環境では、こんなファイルが出てきました。
~/.ssh/
├── id_ed25519 # GitHub用(メイン)
├── id_ed25519.pub
├── id_rsa # 古い鍵(昔使っていたやつ)
├── id_rsa.pub
├── server_key # 本番サーバー用
├── server_key.pub
├── config # SSH設定ファイル
└── known_hosts # 接続履歴秘密鍵(.pub がついていないファイル)が3本ありました。
これが全部ディスク上に平文で置いてある状態です。
1Password SSH agentの仕組み
通常のSSH接続では、~/.ssh/ にある秘密鍵ファイルを使います。
1Password SSH agentを使うと、秘密鍵は1Passwordの中に保存されて、ファイルとして置いておく必要がなくなります。
仕組みはシンプルで、こういう流れです。
- 1PasswordのデスクトップアプリがSSH agentとして起動する
- SSHクライアントが接続を試みるとき、
~/.ssh/configに設定したagentのソケットに問い合わせる - 1Passwordが「この接続に使うキーはどれ?」とポップアップで確認を求める(設定次第でスキップ可)
- 認証が通ってSSH接続が完了する
ポイントは「秘密鍵がディスク上に存在しなくてもSSH接続できる」こと。
ファイルが存在しないので、AIツールに読まれる心配もなくなります。
移行のロードマップ
このSeriesBでは、以下の順番で進めていきます。
B-2:初期設定
1Password SSH agentを有効化して、~/.ssh/config を書き換えます。
まず1本だけ移行して、SSH接続が通ることを確認するところまで。
B-3:一括取り込み
残りの鍵をまとめて1Passwordに移行して、ディスク上のファイルを削除します。
スクリプトを使って効率よく進めます。
B-4:トラブルシュート
移行中・移行後にハマったポイントと対処法をまとめます。
複数マシンへの対応方法も書きます。
移行前の確認事項
作業を始める前に確認しておきたいことが2つあります。
① 鍵の用途を把握しておく
どの鍵がどのサーバー・サービスに登録されているかを把握しておきます。
分からない鍵がある場合は、削除前に一度確認しておくと安心です。
② バックアップを取っておく
移行作業中に万が一があっても戻れるように、~/.ssh/ をどこかにコピーしておきます。
cp -r ~/.ssh ~/ssh-backup-$(date +%Y%m%d)1Passwordへの移行が完了してSSH接続が確認できたら、このバックアップも削除します。
次回 B-2「初期設定」では、実際に手を動かしていきます。
今回は以上です!