SSH鍵を管理する

1Passwordマニュアル|SSH鍵の管理方法を詳しく解説。公開鍵やフィンガープリントを活用し、安全にSSHキーアイテムを生成・管理する手順をご紹介します。

SSH鍵を管理する

1Passwordを使って、全SSH鍵を管理できます。公開鍵、指紋、秘密鍵を含むSSH鍵アイテムを1Passwordで生Createできます。保存済みのSSH鍵がある場合は、それを1Passwordにインポートできます。また、いつでも 1PasswordからSSH鍵をエクスポートできます。

必要条件

1Passwordを使ってSSH鍵を管理する前に、次のことを行う必要があります。

SSH鍵を生Createする

1Passwordデスクトップアプリまたは1Password CLIを使ってSSH鍵を生Createし、必要な場所で使えるようにします。

  • デスクトップアプリ 1Passwordアプリを開いてロックを解除し、サイドバーでPersonalPrivate、またはEmployeeの保管庫に移動します SSHエージェントを共有データ保管庫またはカスタムデータ保管庫に設定している場合は、代わりにそれらのデータ保管庫の1つにSSH鍵を生Createできます。 ①[New Item]を選択し、[SSH Key]を選択します。 ②[Add Private Key] > [Generate a New Key]を選択します。 ③Key Typeを選択し、[Generate]を選択します。 ④鍵の名前を編集し、その他の変更を加えることができます。 完了したら[Save]を選択します。

  • 1Password CLI ①ターミナルを開き、1Passwordアカウントにサインインします。 ②SSH鍵を生Createするには、次のコマンドを実行します。 op item create --category ssh --title "My SSH Key" ③1Password CLIはデフォルトでEd25519鍵を生Createします。その代わりにRSA鍵をCreateする方法はこちらで学んでください。 ④コマンドを実行すると、1Password CLIはSSH鍵を生Createし、組み込みのPersonalPrivate、またはEmployeeの保管庫に新しいアイテムとしてSaveし、秘密鍵が編集された状態で鍵をstdout に出力します。 デフォルトでは、SSH鍵は Personal 、 Private 、または Employee の保管庫にSaveされます。

    コマンドラインでSSH鍵を管理する方法の詳細については、1Password CLIの完全なドキュメントを参照してください。

サポートするSSH鍵の種類

1Passwordは、PKCS#1、PKCS#8、OpenSSH形式のEd25519およびRSA鍵タイプをサポートしています。

Ed25519

Ed25519は現在利用可能な最も高速かつ最も安全な鍵タイプであり、ほとんどの Gitとクラウドプラットフォームで推奨されているオプションです。Ed25519は、1Passwordで新しいSSH鍵を生Createするときにデフォルトで提案され、鍵は自動的に256ビットに設定されます。

Ed25519鍵タイプは、2014年にOpenSSH 6.5で初めて導入されました。OpenSSH 6.5 以降を使用していない古いサーバーに接続する必要がある場合、Ed25519 鍵は機能しません。

RSA

RSA は、最も古い鍵タイプの1つであり、古いサーバーを含むほとんどのサーバーと互換性があります。Ed25519と比較すると、RSAは特に復号化がかなり遅く、2048ビット以上の場合にのみ安全であると見なされています。1Passwordは、2048ビット、3072ビット、4096ビットの RSA鍵をサポートしています。

SSH鍵をインポートする

1PasswordにSaveしたいSSH鍵がある場合は、それをインポートできます。

①1Password デスクトップ アプリを開いてロックを解除し、サイドバーでPersonalPrivate、またはEmployeeの保管庫に移動します。共有保管庫またはカスタム保管庫にSSHエージェントを設定して いる場合は、代わりにそれらの保管庫のいずれかでSSH鍵を生Createできます。

②[New Item]を選択し、[SSH Key]を選択します。

③[Add Private Key] > [Import a Key File]を選択し、必要なSSH鍵の場所に移動して[Import]を選択します。また、SSH鍵ファイルを新しいSSHアイテムに直接ドラッグ&ドロップしたり、クリップボードから貼り付けたりすることもできます。

④SSH鍵がパスフレーズで暗号化されている場合は、パスフレーズを入力して[Decrypt]を選択します。パスフレーズは1回だけ入力する必要があります。SSH鍵を 1Passwordにインポートすると、 1Passwordセキュリティーモデルに従って暗号化されます。

⑤完了したら、[Save]を選択します。

💡パスフレーズは1PasswordにSaveされていたら?

SSH鍵のパスフレーズが既に1PasswordにSaveされている場合は、コンテキストを切り替えることなく、Quick Accessを使ってパスフレーズを見つけてコピーできます。

クイック アクセスを使用して、SSH キーのパスフレーズを見つけてコピーします。

鍵インポートエラー

1PasswordにSSH鍵をインポートするときに以下のいずれかのエラー メッセージが表示される場合は、鍵の種類、ファイル形式、または暗号化に問題がないか確認してください。

  • your SSH key isn't supportedというメッセージが表示される場合 SSH鍵がサポートされていないというメッセージが表示された場合は、Ed25519鍵またはRSA鍵をインポートしていることを確認してください。DSA鍵やECDSA鍵などの他の鍵タイプはサポートされていません。RSA鍵を使用している場合は、鍵長が2048ビット、3072ビット、または4096ビットであることを確認してください。他の鍵サイズはサポートされていません。

鍵の種類とビット長を確認するには、次のコマンドを実行します。

ssh-keygen -l -f <path/to/your/key>

RSA鍵は、NIST標準を満たすために、最小公開指数65,537も必要です。公開指数が 65,537未満のRSA鍵はサポートされていません。鍵の公開指数のサイズを確認するには、次のコマンドを実行します。

openssl rsa -text -in <path/to/your/key> | grep publicExponent

  • your SSH key file couldn't be readというメッセージが表示された場合 SSH鍵 ファイルを読み取れないというメッセージが表示された場合は、鍵ファイルがサポートされている形式であることを確認してください。1PasswordはPKCS#1、PKCS#8、OpenSSH形式をサポートしています。PuTTYgenの.ppkなどの異なるファイル形式を使う鍵はサポートされていません。

  • your SSH key couldn't be decryptedというメッセージが表示された場合

  • SSH鍵を復号化できなかったというメッセージが表示された場合は、RC4などのサポートされていない古い暗号で暗号化されている可能性があります。鍵ファイルを再度暗号化して、より新しいアルゴリズムを使うようにしてから、再度インポートしてみてください。これを行うには、次のコマンドを実行します。

ssh-keygen -p -f path/to/your/key

それでもSSH鍵をインポートできない場合は、1Passwordを使用して、最新の標準に基づいて新しいSSH鍵を生Createできます。

SSH鍵をエクスポートする

いつでも1Password からプライベートSSH鍵をエクスポートできます。

①1Passwordデスクトップアプリを開いてロックを解除します。

②エクスポートする SSH鍵を選択し、秘密鍵 フィールドを選択します。

③必要なエクスポート形式(OpenSSHまたはPKCS#8)を選択します。

PKCS#1形式の鍵を1Passwordにインポートした場合は、その鍵をPKCS#1形式でエクスポートするオプションもあります。

④秘密鍵をエクスポートする方法を選択します。

エクスポートした秘密鍵を暗号化する(OpenSSH形式のみ)には、パスフレーズを入力し、[Copy Encrypted Key]または[Download Encrypted Key]を選択します。

秘密鍵を平文でエクスポートするには、パスフレーズフィールドを空のままにして(存在する場合)、[Copy Unencrypted Key]または[Download Unencrypted Key] を選択します。

⚠️秘密鍵を安全に保管してください

1Passwordは、アカウント外にSaveされたSSH鍵を保護することはできません。秘密鍵をエクスポートする必要がある場合は、安全な場所にSaveすることをお勧めします。暗号化されていない秘密鍵をディスクにSaveしないでください。

公開鍵を共有する

1Passwordは、Createした秘密鍵ごとに公開鍵とフィンガープリントを自動的に生Createし、それを必要とするサービスや人々と共有できるようにします。

SSH鍵の公開鍵を常に正しい形式でコピーまたはダウンロードでき、フィンガープリントを使って全サービス間で鍵を比較および識別できます。

ブラウザーで公開鍵を提供できるプラットフォーム(SSH鍵設定パネルにあることが多い)の場合は、ブラウザで1Passwordを使って公開鍵を入力できます。

また、1Passwordのアイテム ビューから公開鍵をコピーして、必要な場所で共有したり、Quick Accessを使用してコンテキストを切り替えることなく公開鍵をさらにすばやく見つけたりすることもできます。

1Password 7でSSH鍵を表示する

SSH鍵の生Create、インポート、共有には1Password 8が必要です。生Createまたはインポートした SSH鍵は、他のデバイスの 1Password 7アプリで表示およびコピーできます。公開鍵または秘密鍵を表示またはコピーするには、1Password 7の更新されたバージョンを使用していることを確認してください。