Password Manager開発者ツール

SSHエージェント

Bitwarden Password ManagerのデスクトップアプリはSSHエージェントとして機能し、SSH(Secure Shell)キーを安全に暗号化して保存します:

  • サーバーへの認証

  • Gitコミットへの署名

  • SSHベースのサービスとのやり取り

Bitwarden SSHエージェントは、あなたの鍵を安全な場所に整理して保護します。SSH鍵は、デスクトップアプリ、ウェブアプリ、ブラウザ拡張機能、モバイルアプリでアクセスできます。SSH鍵は、デスクトップアプリ、ウェブアプリ、ブラウザ拡張機能を使って生成できます。

note

SSHエージェントはリリースバージョン2025.1.2以降が必要です。

SSHキーの保存

新しいSSHキーはBitwardenデスクトップアプリで作成・保存できます。Bitwarden の SSH 鍵は保存されます:

Bitwarden パスワードマネージャに保存された SSH 鍵は、フォルダお気に入りマスターパスワードの再試行、メモ、アイテムの複製添付ファイルカスタムフィールドなどの Bitwarden の機能にアクセスできます。

新しい SSH キーの作成

Bitwarden のデスクトップアプリ、ウェブアプリ、またはブラウザ拡張機能を使用して新しい SSH キーを作成します。一度作成すると、Bitwardenに保存されたSSH鍵は、デスクトップアプリ、ウェブアプリ、ブラウザ拡張機能、モバイルアプリからアクセスできるようになります。

  1. Newボタンを選択し、アイテムのタイプとしてSSHキーを選択します:

    デスクトップに新しいSSHキーを作成する
    デスクトップに新しいSSHキーを作成する
    note

    現時点では、BitwardenはED25519タイプのSSH鍵しか生成できません。

  2. 名前などの残りの詳細を入力し、完了したら保存アイコンを選択します。

組織のSSH鍵

SSH鍵を作成し、組織コレクションに保存することができます。適切な権限を持つ組織のメンバーは、組織が所有するSSH鍵を作成、管理、アクセスできます。コレクションの権限についてはこちらをご覧ください。

新しい共有 SSH 鍵を組織保管庫に追加するには、次の手順を実行します:

  1. デスクトップまたは Web アプリの [Vault] ビューで、[New] ボタンを選択し、[SSH key] を選択します。

    tip

    組織の所有者、管理者、および一部のカスタム ユーザーは、管理コンソールから直接この手順を実行して、このプロセスのいくつかの手順をスキップすることもできます。

  2. 所有者] ドロップダウンを使用して、このアイテムを所有する組織を選択します。

  3. Collections]ドロップダウンを使用して、このアイテムを共有するコレクションを選択します。

    SSHキーを共有する
    SSHキーを共有する

note

一般に、SSH鍵を使用するリソースは、ユーザーごとの鍵をサポートできる。SSH鍵を組織で共有する前に、SSH鍵のベスト・プラクティスを確認することを推奨する。

既存の鍵を編集する

SSH 鍵を Bitwarden 保管庫に保存したら、名前、所有者、フォルダ、カスタム フィールドなど、鍵フィールドの一部を編集できます:

BitwardenデスクトップアプリでSSHキーを編集するには:

  1. Bitwardenデスクトップアプリを開き、SSHキーに移動します。

  2. 編集したいSSHキーを探し、 Editを選択します。

  3. 必要な変更が完了したら、 Saveを選択します。

Bitwardenへの鍵のインポート

SSH鍵のインポート機能は、Bitwardenデスクトップアプリで利用できます。Bitwardenデスクトップアプリを使用します:

  1. 新規]ボタンを選択し、アイテムのタイプとして[SSH鍵]を選択します。

  2. インポートしたい既存のSSH鍵をBitwardenにコピーします。

  3. クリップボードからキーをインポート]アイコンを使用します。これでSSHキーが自動的にBitwardenにペーストされます。

    • 現時点では、インポートする鍵はOpenSSHまたはPKCS#8形式である必要があります。

      SSHキーをインポートする
      SSHキーをインポートする

note

現時点では、PuttyからインポートしたSSHキーは互換性がありません。

Bitwarden SSHエージェントの設定

BitwardenをプライマリSSHエージェントとして使用するには、認証のためにBitwardenと通信するようにSSHクライアントを設定する必要があります。

Windows で Bitwarden SSH エージェントを有効にするには、Windows マシンの OpenSSH サービスを無効にする必要があります。OpenSSH を無効にするには:

  1. Windows マシンで、サービス → OpenSSH 認証エージェントに移動します。サービスは Windows の検索バーで見つけることができます。

    Windowsサービスパネル
    Windowsサービスパネル
  2. OpenSSH 認証エージェントのプロパティ」ウィンドウを開いたら、「スタートアップの種類」の設定を「無効」にします。

    OpenSSH Windowsを無効にする
    OpenSSH Windowsを無効にする
  3. 設定が調整されたら、[Apply] を選択し、[OK] を選択します。

SSHエージェントを有効にする

BitwardenデスクトップアプリでSSHエージェントを有効にするには、「Settings(設定)」から「Enable SSH agent(SSHエージェントを有効にする)」に移動します。

デスクトップクライアントでSSHストレージを有効にする
デスクトップクライアントでSSHストレージを有効にする

SSHエージェントを有効にした後、SSHエージェント使用時に認証を求める設定を調整することもできます。この設定は、BitwardenがSSHキーへのアクセスを承認するよう要求するタイミングを決定します:

SSHキーの使用を許可する
SSHキーの使用を許可する
  • 常に

  • なし

  • 金庫がロックされるまで覚えておく

デフォルトではAlwaysが選択されている。

SSHキーのテスト

SSHエージェントがBitwarden用に設定されたら、SSHリストをリクエストしてセットアップをテストすることができます:

Plain Text
ssh-add -L

Bitwarden デスクトップクライアントに保存されている SSH キーのリストが返されます。

note

SSH鍵にアクセスするとき、Bitwardenの動作はクライアントのロック状態かアンロック状態かによって異なります。

  • 保管庫がロックされている:Bitwardenの保管庫がロックされている場合、BitwardenはSSHキーにアクセスするために保管庫のロックを解除するよう自動的に促します。

  • デー タ保管庫の ロ ッ ク 解除: デス ク ト ッ プのデー タ 保管庫の ロ ッ ク が解除 さ れてい る 場合、 SSH キーの使用を確認す る よ う 求め ら れます。

Gitの認証にSSHキーを使う

SSHはGitの認証に使えます。Bitwarden SSHエージェントは、あなたのGitワークフローにセキュリティと使いやすさを加えることができます。この例では、Bitwarden SSH Agent が GitHub を認証します。

  1. GitHub アカウントで、[Settings][SSH and GPG keys][New SSH Key] と進み、SSH 鍵を設定します。

  2. 新しいSSH鍵を追加する画面で、名前を追加し、鍵の種類を選択します。認証キー」を選択する。Bitwarden vaultから公開鍵をコピーしてGitHubのKeyフィールドに貼り付けます。

    新しいGitHubキーを作成する
    新しいGitHubキーを作成する
  3. すべてのフィールドを入力したら、Add SSH keyを選択してキーを保存します。GitHub はキーを保存する前に GitHub アカウントの確認を要求します。

  4. GitHubのSSHキーをターミナルでテストする:

    Plain Text
    ssh -T git@github.com
  5. 成功した場合、Bitwardenはアクセス要求を確認するよう促します。Authorizeを選択して確定する。認証に成功すると、認証の試行を確認するメッセージが表示されます:

    Plain Text
    Hi <USER>! You've successfully authenticated, but GitHub does not provide shell access.

gitリポジトリで認証する

Bitwarden SSH Agent を使用して、SSH Git コミットに署名します。Bitwarden SSH エージェントを使用して Git コミットに署名する前に、お使いのシステムで必要なものがあります:

  • Gitバージョン2.34以降。でGitのバージョンを確認する:

    Plain Text
    git --version
  • OpenSSHバージョン8.8以降。でバージョンを確認する:

    Plain Text
    ssh -V
  • SSHエージェントを有効にしたBitwardenデスクトップクライアント。

SSH署名用にGitを設定する

署名用のSSH鍵を指すようにGit環境を設定する。これを完了させるには、グローバル変数を設定するか、.gitconfigファイルに指示を記述します。

グローバル変数の設定

Gitの設定を--グローバル変数を使って行う:

  1. 署名にSSHを使うようにGitを設定する:

    Plain Text
    git config --global gpg.format ssh
  2. 署名鍵として使用するSSH鍵を指定する。Bitwarden SSH エージェントを使用するには、<YOUR_PUBLIC_KEY> を Bitwarden ヴォールトに保存されている SSH 鍵からコピーした公開鍵に置き換えます。

    Plain Text
    git config --global user.signingkey "<YOUR_PUBLIC_KEY>"
  3. 自動コミット署名を有効にする。

    Plain Text
    git config --global commit.gpgsign true

.gitconfigファイルを設定する

.gitconfigファイルを使ってGitを設定する:

  1. お好みのテキストエディタで .gitconfig にアクセスしてください:

    Plain Text
    nano ~/.gitconfig
  2. 以下の設定を追加する:

    Bash
    [gpg] format = ssh [user] signingkey = "<YOUR_PUBLIC_KEY>" name = <USER_NAME> email = <USER_EMAIL> [commit] gpgsign = true
note

Windowsユーザー向け:

  1. Gitの設定にcore.sshCommand変数を追加して、Microsoft OpenSSHを使うようにします:

    Plain Text
    git config --global core.sshCommand "C:/Windows/System32/OpenSSH/ssh.exe"

    あるいは、.gitconfigファイルに変数を設定します:

    Plain Text
    [core] sshCommand = C:/Windows/System32/OpenSSH/ssh.exe
  2. 次に、gpg.ssh.programパラメータを設定する必要があるかもしれません:

    Plain Text
    git config --global gpg.ssh.program "C:/Windows/System32/OpenSSH/ssh-keygen.exe"



Git のコミットに署名する

Gitの認証にSSHを使うことで、ワークフローにセキュリティと使いやすさを加えることができます。同様に、Bitwardenに保存されているSSH鍵は、SSHプロトコルを使用してGitコミットに署名し、検証するために使用することができます。この例では、Bitwarden SSH Agentを使ってGitHubへのGitコミットに署名します。

  1. GitHub アカウントで、SSH 署名キーを設定します。「Settings (設定)」→「SSH and GPG keys (SSH と GPG キー)」→「New SSH Key (新しい SSH キー)」を選択します。

  2. 新しいSSH鍵を追加する画面で、名前を追加し、鍵の種類を選択します。Bitwarden vaultから公開鍵をコピーしてGitHubのKeyフィールドに貼り付けます。

  3. 次のコマンドで、allowedSignersFileを使用するようにgitを設定します:

    Plain Text
    git config --global gpg.ssh.allowedSignersFile "$HOME/.ssh/allowed_signers"
  4. あなたの公開鍵をallowedSignersFileに追加します:

    Bash
    # Create allowed_signers file touch ~/.ssh/allowed_signers # Edit the allowed_signers file and add a line for your public key pair you wish to trust, for example: User1@Bitwarden.com ssh-ed25519 <Your_Public_Key>

  5. SSHキーを使用して、SSH方式でリポジトリをクローンします:

    SSHクローン
    SSHクローン
    Plain Text
    git clone git@github.com:<USER>/<repository>.git
  6. ターミナルかお好みのテキストエディタを使って、Gitコミットを作成する:

    Plain Text
    git commit -m "This commit is signed using SSH"
  7. Bitwarden は鍵の使用を承認するよう促します:

    クライアントでSSHを認証する
    クライアントでSSHを認証する


  8. 認証されると、コミットを承認するためにSSH鍵が開始される。これでコミットをプッシュできる:

    Plain Text
    git push
  9. GitHubのコミットに移動して、Github上でコミットを確認することができます:

    GitHubでコミットを確認する
    GitHubでコミットを確認する

SSHエージェントの転送

SSH エージェント転送は、あなたの秘密鍵を保管庫の外部に公開することなく、あなたがアクセスしているリモート・サーバーが、あなたの鍵を使って他のサーバーと認証することを可能にします。ログインしているサーバーは、ローカルの Bitwarden インスタンスにリモート サーバーへの認証を要求できます。この例では、サーバー間でファイルを転送する方法を説明します。

  1. まず、BitwardenのデスクトップアプリでSSHエージェントが有効になっていることを確認します:

    デスクトップクライアントでSSHストレージを有効にする
    デスクトップクライアントでSSHストレージを有効にする
  2. 新しい SSH キーを作成するか、既存の SSH キーを Bitwarden デスクトップ アプリにインポートします。

  3. ファイルを送信するサーバーとの接続を開いて、エージェント転送を有効にします。

    Plain Text
    ssh -A <HostnameA>
  4. サーバーにファイルを送信します:

    Plain Text
    rsync -avzP ./TEST.txt <USER>@<HostnameB>:/home/<USER>/test.txt
  5. Bitwarden は SSH キー アクセスを承認するように求めます。これにより、SSH キーが要求され、ファイル転送を完了するために使用されたことが示されます。

    SSHエージェント転送の確認