Github等で利用するSSH keyの作成及び管理を1Passwordで行う

2022.03.17
  • t_o_dと申します。
  • 普段の業務においてSSH Keyの作成及び管理は数の増加と共に大変になってきます。
  • そのため先日ベータ版で提供された1Passwordの「SSH エージェント機能」を利用して作成及び管理を行いGitHubで利用する方法を記録いたします。
  • ※2022/03/16日時点ではベータ版のみの提供です。今後正式版で対応するかもしれません。
  • ※2022/05月に1Password 8がリリースされ、安定版として利用できるようになりました。

環境

  • mac OS Monterey 12.2

手順

  • ※以下手順はMacでの方法です。

1Password betaのインストール

  • SSH keyのエージェント機能が利用できるのはbeta版のみのため、以下から「1Password 8 beta for Mac」をインストールします。

https://1password.com/downloads/mac/#beta-downloads

  • 以下から「1Password 8 for Mac」をインストールします。

https://1password.com/jp/mac/

Chrome拡張機能のインストール

  • ブラウザ上で1Passwordの機能を利用するため、以下からChromeに1Password拡張を追加します。

https://chrome.google.com/webstore/detail/1password-beta-%E2%80%93-password/khgocmkkpikpnmmkgmdnfckapcdkgfaf

https://chrome.google.com/webstore/detail/1password-%E2%80%93-password-mana/aeblfdkhhhdcdjpifhhbdiojplfjncoa

機能の有効化

  • インストールしたアプリを開きます。
  • 開いたら、以下のように上部メニューから「1Password → Preferences → Developer」の順にクリックしてDeveloper設定ページを開きます。

  • 「Use the SSH agent」のチェックボックスをオンにします。

SSHでの利用設定

  • SSHで1Passwordを利用する設定を行うため、以下の内容をコピーします。
    • ※詳細な手順はこちらに載っています。
Host *
  IdentityAgent "~/Library/Group Containers/2BUA8C4S2C.com.1password/t/agent.sock"
  • コピーした内容を~/.ssh/configに追加します。

Githubでの利用

  • 上記までで基本設定は完了したため、GitHubでの方法を見ていきます。
  • SSH設定ページにアクセスして、「New SSH Key」ボタンをクリックします。
  • ※不要なキーがあれば「Delete」で削除してください。
  • 以下のように「Title」項目にフォーカスをあてれば、「SSHキーの作成」が表示されるためそちらをクリックします。

  • passwordを求められる場合、自身のパスワードを入力します。
  • 以下のポップアップが表示されるため、タイトル及びKeyTypeを適宜設定します。
  • ※設定できるKeyTypeは「Ed25519」「RSA」の2つです。
  • 設定後、「作成と入力」ボタンをクリックしてKeyの作成します。
  • 作成及び入力を確認して「Add SSH Key」ボタンをクリックすれば、GithubへのSSH設定は完了です。
  • 以下のように、Githubに登録されたSSH Keyが1Passwordで管理されているかChrome拡張機能で確認します。

  • 登録が正常に確認できれば、clone等が出来るか見ていきます。
  • ターミナルを開き、任意のディレクトリに任意のリポジトリをcloneするため以下のコマンドをうちます。
git clone git@github.com:xxxxx/xxxxx.git
  • その後、1Passwordの利用を求める以下のポップアップが表示されるため「Allow Access」で許可します。

  • 許可して正常にcloneされていること確認します。

まとめ

  • 今回1Passwordで提供されたSSHエージェント機能を利用することで、迅速かつより安全にKeyを利用した認証や作成・管理が行えることを実感しました。
  • その他にもBeta版で利用できる機能はありそうなので、適宜利用していくことを検討していきます。

参考

  • https://blog.1password.com/1password-ssh-agent/

アノテーション株式会社について

  • アノテーション株式会社は、クラスメソッド社のグループ企業として「オペレーション・エクセレンス」を担える企業を目指してチャレンジを続けています。「らしく働く、らしく生きる」のスローガンを掲げ、様々な背景をもつ多様なメンバーが自由度の高い働き方を通してお客様へサービスを提供し続けてきました。現在当社では一緒に会社を盛り上げていただけるメンバーを募集中です。少しでもご興味あれば、アノテーション株式会社WEBサイトをご覧ください。