# SSHエージェント

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

- サーバーへの認証
- Gitコミットへの署名
- SSHベースのサービスとのやり取り

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

> [!NOTE] SSH agent availability
> The SSH Agent requires release version 2025.1.2 or newer.

## SSHキーの保存

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

| フィールド | 記述説明 |
|------|------|
| 鍵名 | SSH 鍵の名前です。 |
| 秘密鍵 | 秘密鍵は、サーバーが安全な接続を促進するために使用する機密データです。秘密鍵データは慎重に扱い、安全に保管する必要があります。ユーザーはBitwardenを使用して、安全で一意の秘密鍵を生成できます。 |
| 公開鍵 | 接続先のサーバーと共有する鍵の一部。 |
| 指紋 | 識別のために公開鍵から生成される短い一意の文字列。例えば、SSHで署名されたgitコミットは、フィンガープリントを使って検証することができます。 |

Bitwarden パスワードマネージャに保存された SSH 鍵は、[フォルダ](https://bitwarden.com/ja-jp/help/folders/)、[お気に入り](https://bitwarden.com/ja-jp/help/favorites/)、[マスターパスワードの再試行](https://bitwarden.com/ja-jp/help/managing-items/#protect-individual-items/)、メモ、[アイテムの複製](https://bitwarden.com/ja-jp/help/managing-items/#clone/)、[添付ファイル](https://bitwarden.com/ja-jp/help/attachments/)、[カスタムフィールド](https://bitwarden.com/ja-jp/help/custom-fields/)などの Bitwarden の機能にアクセスできます。

## 新しい SSH キーの作成

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

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

![デスクトップに新しいSSHキーを作成する](https://bitwarden.com/assets/1XYC3HwXOTMAPvyW1GS3Mk/1301eaf741b5867a33ba1b679e5a2e38/2026-04-23_12-36-06.png)
*デスクトップに新しいSSHキーを作成する*

> [!NOTE] Create SSH key only ED25519
> At this time, Bitwarden can only generate `ED25519` type SSH keys.
2. **名前**などの残りの詳細を入力し、完了したら[save-changes]保存アイコンを選択します。

### 組織のSSH鍵

SSH鍵を作成し、組織コレクションに保存することができます。適切な権限を持つ組織のメンバーは、組織が所有するSSH鍵を作成、管理、アクセスできます。コレクションの権限については[こちら](https://bitwarden.com/ja-jp/help/collection-permissions/)をご覧ください。

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

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

> [!TIP] Can also be done from Admin Console
> 組織の[所有者、管理者、および一部のカスタム ユーザーは、](https://bitwarden.com/ja-jp/help/user-types-access-control/)**管理コンソール**から直接この手順を実行して、このプロセスのいくつかの手順をスキップすることもできます。
2. **所有者**] ドロップダウンを使用して、このアイテムを所有する組織を選択します。
3. **Collections**］ドロップダウンを使用して、このアイテムを共有するコレクションを選択します。

![SSHキーを共有する](https://bitwarden.com/assets/1YnrhzwCw78KuFsArEioOO/76dceaa53917a8078b1e96f0fcbb5f65/2026-04-23_12-36-17.png)
*SSHキーを共有する*

> [!NOTE] SSH key sharing best practices
> 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キーを探し、[pencil] **Editを**選択します。
3. 必要な変更が完了したら、[save-changes] **Saveを**選択します。

### ウェブアプリ

BitwardenウェブアプリでSSH鍵を編集するには：

1. Bitwarden ウェブアプリを開き、**SSH 鍵に**移動します。
2. 編集したいSSHキーを探して選択します。画面にダイアログが表示されるので、「**編集**」を選択する。
3. 必要な変更が完了したら、「**保存**」を選択します。

### モバイル

BitwardenモバイルアプリでSSH鍵を編集するには：

1. Bitwardenモバイルアプリを開き、**SSHキーに**移動します。
2. 編集したいSSHキーを探し、**Editを**選択します。
3. 必要な変更が完了したら、「**保存**」を選択します。

### ブラウザ拡張機能

BitwardenブラウザエクステンションでSSHキーを編集するには：

1. Bitwardenブラウザ拡張機能を開き、**SSH鍵に**移動します。
2. 編集したいSSHキーを探して選択します。画面にダイアログが表示されるので、「**編集**」を選択する。
3. 必要な変更が完了したら、「**保存**」を選択します。

## Bitwardenへの鍵のインポート

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

1. **新規**］ボタンを選択し、アイテムのタイプとして［**SSH鍵**］を選択します。
2. インポートしたい既存のSSH鍵をBitwardenにコピーします。
3. **クリップボードからキーをインポート**］アイコンを使用します。これでSSHキーが自動的にBitwardenにペーストされます。

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

![SSHキーをインポートする](https://bitwarden.com/assets/5QTvyu39h3o0azkjU26P3t/77e877af88307d167daf0f292a38dd03/import-ssh.png)
*SSHキーをインポートする*

> [!NOTE] import SSH must be in OpenSSH format
> At this time, imported SSH keys from Putty are not compatible.

## Bitwarden SSHエージェントの設定

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

### Windows

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](https://bitwarden.com/assets/77fTJpxIBH5ikJYQW1KFL7/0c6fa3b9f68f7a85569ad6ede489979e/openSSH_agent.png)
2. Once you have opened the OpenSSH Authentication Agent Properties window, set the **Startup type** setting to **Disabled**.

![Disable OpenSSH Windows](https://bitwarden.com/assets/6Ghl3WkroGhoyy4fUMDbCg/800780f201fff9d6dc2de3d6577587ac/Screenshot_2024-12-04_142322.png)
3. Once the settings have been adjusted, select **Apply** and then **OK**.

### macOS

#### macOS store

Enable the Bitwarden SSH Agent on macOS store download:

1. Configure the `SSH_AUTH_SOCK` variable to point to the Bitwarden SSH Agent socket. The following example demonstrates how to do this after replacing `<user>` with your username:

```plain text
export SSH_AUTH_SOCK=/Users/<user>/Library/Containers/com.bitwarden.desktop/Data/.bitwarden-ssh-agent.sock
```

#### .dmg download

Enable the Bitwarden SSH Agent on macOS .dmg download:

1. Configure the `SSH_AUTH_SOCK` variable to point to the Bitwarden SSH Agent socket. The following example demonstrates how to do this after replacing `<user>` with your username:

```bash
export SSH_AUTH_SOCK=/Users/<user>/.bitwarden-ssh-agent.sock
```
2. Alternatively, configure `SSH_AUTH_SOCKET`:

```plain text
launchctl setenv "SSH_AUTH_SOCKET" "/Users/<user>/.bitwarden-ssh-agent.sock"
```

> [!NOTE] launchctl require terminal restart
> You may need to restart the terminal after using the `launchctl` command.

#### Shell configuration

1. Access your `.bashrc` or `.zshrc` file:

```plain text
nano ~/.bashrc
nano ~/.zshrc
```
2. Set the environment variable in the `.bashrc` or `.zshrc` file:

```plain text
export SSH_AUTH_SOCK=/Users/<user>/.bitwarden-ssh-agent.sock
```

### Linux

Enable the Bitwarden SSH Agent on Linux:

1. Configure the `SSH_AUTH_SOCK` variable to point to the Bitwarden SSH Agent socket. The following example demonstrates how to do this after replacing `<user>` with your username:

```plain text
export SSH_AUTH_SOCK=/home/<user>/.bitwarden-ssh-agent.sock
```

#### Shell configuration

1. Access your `.bashrc` or `.zshrc` file:

```plain text
nano ~/.bashrc
nano ~/.zshrc
```
2. Set the environment variable in the `.bashrc` or `.zshrc` file:

```plain text
export SSH_AUTH_SOCK=/home/<user>/.bitwarden-ssh-agent.sock
```

#### Snap and Flatpak

Enable the Bitwarden SSH Agent on snap or Flatpak installations:

1. Configure the `SSH_AUTH_SOCK` variable to point to the Bitwarden SSH Agent socket. The following example demonstrates how to do this after replacing `<user>` with your username:

```plain text
# Snap
export SSH_AUTH_SOCK=/home/<user>/snap/bitwarden/current/.bitwarden-ssh-agent.sock

# Flatpak
export SSH_AUTH_SOCK=/home/<user>/.var/app/com.bitwarden.desktop/data/.bitwarden-ssh-agent.sock
```

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

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

![Enable SSH storage on desktop client](https://bitwarden.com/assets/7Fx7AnfIPXmiJpHq1lFhTx/4591ef1b514df8fe1d51c30dc5ffd4d5/2025-05-20_16-06-21.png)

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

![Authorize SSH key usage](https://bitwarden.com/assets/7M0oE4BXZWiTpub3Vqwfpp/803eabf2073b2035266469c6c2d4ead8/2025-05-22_09-00-17.png)

- 常に
- なし
- 金庫がロックされるまで覚えておく

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

## SSHキーのテスト

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

```plain text
ssh-add -L
```

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

> [!NOTE] SSH key lock vault behavior
> 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 ](https://bitwarden.com/assets/1bZWyhzPtdpdhoDM6GNYdz/3c326b32d15d134ff7532a57041ceff4/2025-02-12_11-26-35.png)
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 git signing
> 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](https://bitwarden.com/assets/76Snkd9TQMrVMmegeJRqK/21836de7c7500b9ebdabaeb1d17b9659/2025-02-12_17-16-13.png)

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

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

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

![Verify your commit in GitHub](https://bitwarden.com/assets/1PR4Sss3Pvf3anlau5AlgC/ecfdb02b50fb83f59a21ebc7ed550042/2025-02-12_14-51-41.png)

## SSHエージェントの転送

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

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

![Enable SSH storage on desktop client](https://bitwarden.com/assets/7Fx7AnfIPXmiJpHq1lFhTx/4591ef1b514df8fe1d51c30dc5ffd4d5/2025-05-20_16-06-21.png)
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](https://bitwarden.com/assets/26n37qx0HKJ47ZdAzP2UFw/611025ed1513d6441acc4fecf547e12e/395218105-683d4ead-1f7e-46b3-8799-7591a74952af.png)