Password Manager開発者ツールSSH

SSHエージェント

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

  • サーバーへの認証

  • Gitコミットへの署名

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

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

note

The SSH Agent requires release version 2025.1.2 or newer.

SSHキーの保存

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

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

新しい SSH キーの作成

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

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

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

    At this time, Bitwarden can only generate ED25519 type SSH keys.

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

組織のSSH鍵

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

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

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

    tip

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

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

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

    SSHキーを共有する

note

In general, resources that use SSH keys can support per-user keys. We recommend reviewing SSH key best practices before sharing SSH keys to an organization.

既存の鍵を編集する

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キーをインポートする

note

At this time, imported SSH keys from Putty are not compatible.

Bitwarden SSHエージェントの設定

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

To enable the Bitwarden SSH Agent on Windows, you must disable the OpenSSH service on your Windows machine. To disable OpenSSH:

  1. On your Windows machine, navigate to Services → OpenSSH Authentication Agent. Services can be located with the Windows search bar.

    Windows Services panel
  2. Once you have opened the OpenSSH Authentication Agent Properties window, set the Startup type setting to Disabled.

    Disable OpenSSH Windows
  3. Once the settings have been adjusted, select Apply and then OK.

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

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

Enable SSH storage on desktop client

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

Authorize SSH key usage
  • 常に

  • なし

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

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

SSHキーのテスト

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

Plain Text
ssh-add -L

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

note

When accessing an SSH key, the behavior of Bitwarden will differ depending on the locked or unlocked status of the client.

  • Locked vault: If your Bitwarden vault is locked, Bitwarden will automatically prompt you to unlock your vault in order to gain access to the SSH key.

  • Unlocked vault: If the desktop vault is unlocked, you will be prompted to confirm the SSH key usage.

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フィールドに貼り付けます。

    Create new GitHub key
  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

For Windows users:

  1. Add the core.sshCommand variable to your Git config to use Microsoft OpenSSH:

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

    Alternatively, set variable in your .gitconfig file:

    Plain Text
    [core] sshCommand = C:/Windows/System32/OpenSSH/ssh.exe
  2. Next, you may be required to set the gpg.ssh.program parameter:

    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 clone
    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 は鍵の使用を承認するよう促します:


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

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

    Verify your commit in GitHub

SSHエージェントの転送

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

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

    Enable SSH storage on desktop client
  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 キーが要求され、ファイル転送を完了するために使用されたことが示されます。

    Confirm SSH Agent Forwarding