> For the complete documentation index, see [llms.txt](https://docs.keeper.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.keeper.io/keeperpam/jp/privileged-access-manager/ssh-agent.md).

# SSHエージェント

<figure><img src="/files/hObFEym5Kwh8PzB66cBP" alt=""><figcaption></figcaption></figure>

## 概要 <a href="#overview" id="overview"></a>

Keeperデスクトップアプリケーションには、SSHエージェント機能が組み込まれており、SSHキーと接続の管理でのセキュリティと利便性が高まります。この機能により、対象システムへの安全なアクセスが簡素化され、SSHキーをローカルに保存する必要がなくなります。また、Keeperの強力なキー管理機能およびローテーション機能とのシームレスな連携も可能です。このSSHエージェント機能は、すべてのKeeperユーザーにご利用いただけます。

KeeperデスクトップとSSHエージェントはすべてのプラットフォームでご利用いただけます。

* Windows
* macOS
* Linux

## 主な特徴 <a href="#key-features" id="key-features"></a>

* **組み込み SSH エージェント**\
  すべての秘密鍵がKeeperデスクトップアプリに自動的に組み込まれるため、サードパーティのSSHエージェントは不要になります。
* **ローカルキー ストレージなし**\
  SSHキーは Keeperで安全に保存および管理されるため、ローカルマシンでキーが漏洩するリスクはありません。
* **シームレスな認証**\
  Keeperボルトがロック解除されている際に、対象システムへのSSHアクセスを安全に認証します。
* **ローカルおよびリモート使用**

  KeeperPAM[トンネル](/keeperpam/jp/privileged-access-manager/tunnels.md)経由の管理対象システムに加えて、直接接続可能なターゲットへのSSH接続もサポートします。
* **Git統合**\
  GithubおよびGitlabで認証し、ワークステーションにローカルに秘密鍵を保存せずにGitコミットに署名します。
* **暗号化されたキー**\
  Keeperに保存されているSSH秘密鍵はパスフレーズで暗号化できるため、保護層がさらに強化されます。さらに、レコードの **\[パスワード]** フィールドをパスフレーズとして使用することで、セキュリティと利便性の両立を実現します。
* **キーローテーション**\
  Keeperの自動SSHキーローテーションによりSSHエージェントと連携し、常に最新のキーを使用できるようにします。

## ダウンロード <a href="#downloads" id="downloads"></a>

Keeperデスクトップアプリケーションは、こちらの[ダウンロード ページ](https://www.keepersecurity.com/ja_JP/download.html)から入手できます。

## キーをKeeperに保存する <a href="#storing-keys-in-keeper" id="storing-keys-in-keeper"></a>

Keeperボルトでは、SSH秘密キー以下の2つの方法で保存できます。

* カスタムフィールドとして追加
* ファイルとして添付

<div><figure><img src="/files/FU4tJVlYsjcxeCm4Zvtj" alt=""><figcaption><p>カスタムフィールドの例</p></figcaption></figure> <figure><img src="/files/HgQeYcVmEjZquSQi3mt1" alt=""><figcaption><p>添付ファイルの例</p></figcaption></figure></div>

どちらの場合でも、パスワードがレコードパスワードフィールドに保存されている限り、パスワードで保護されたキーがサポートされます。

#### PEM (プライバシー強化メール)

秘密キーに使用されるBase64エンコード形式。OpenSSLおよび旧バージョンのOpenSSHでよく使用されます。

```
-----BEGIN RSA PRIVATE KEY-----
(Base64-encoded data)
-----END RSA PRIVATE KEY-----
```

#### オープンSSH

OpenSSHの最新バージョン (7.8以降) において、`ssh-keygen`ユーティリティによって生成されるキーのデフォルト形式。秘密キーにはカスタムシリアル化形式が使用されます。

```
-----BEGIN OPENSSH PRIVATE KEY-----
(Base64-encoded data)
-----END OPENSSH PRIVATE KEY-----
```

#### PKCS#8

複数のキータイプをサポートする秘密キーをエンコードするための標準化されたフォーマット。OpenSSLや相互運用性のためによく使用されます。

```
-----BEGIN PRIVATE KEY-----
(Base64-encoded data)
-----END PRIVATE KEY-----
```

## SSHエージェントの利点 <a href="#benefits-of-ssh-agent" id="benefits-of-ssh-agent"></a>

Keeperアプリケーションに組み込まれたSSHエージェントにより、Keeperに安全に保存されたキーをパソコンで使用できるようになります。

SSHプロトコルでは、エージェントに読み込まれているすべての鍵を順に試行し、サーバー側と一致する鍵を見つけることで認証が行われます。しかし、OpenSSHでは1回の認証試行でエージェントが使用できる鍵の数に制限があり、通常は**6つ**までとなっています。この制限はSSH構成における`MaxAuthTries`パラメータによって定義されており、Keeper側で直接制御することはできません。

この制限に対応するために、Keeperでは鍵の使用を最適化するための機能を強化しています。たとえば、特定のリソースに関連付けられたトンネルを起動すると、そのトンネル用の鍵がエージェントによって即座に有効化されるようになっています。もしアクティブな鍵の最大数に達している場合でも、関連する鍵をエージェントのリストの先頭に移動させ、接続時に確実にその鍵が使用されるように優先順位を調整します。

## SSHエージェントの有効化 <a href="#activating-the-ssh-agent" id="activating-the-ssh-agent"></a>

Keeperデスクトップアプリケーションから、**\[設定]** > **\[開発者]** 画面にアクセスし、この画面からSSHエージェントを管理します。

<figure><img src="/files/tM7QmvAA4zaJ8Ry6iNuw" alt=""><figcaption><p>開発者設定</p></figcaption></figure>

SSHエージェントを有効にすると、ボルトがロック解除されている間、Keeperに保存されている指定されたすべてのSSHキーがローカルマシン上で使用可能になります。

毎回のログイン時にSSHエージェントを自動的に起動させるには、**\[起動時にSSHエージェントを起動する]** を選択します。

<figure><img src="/files/ZJqFDzLTYEkfUWYt0pxk" alt=""><figcaption><p>SSHエージェント設定</p></figcaption></figure>

特定のキーで SSHエージェントを有効にするには、ドロップダウンからキーを選択します。

<figure><img src="/files/0WUqevXlvgKWx4SUCOWL" alt=""><figcaption><p>レコードへのSSHアクセスを制限する</p></figcaption></figure>

{% hint style="info" icon="pencil-line" %}
ボルト内のキーをSSHエージェントで検出するには、レコードが以下の条件を満たしている必要があります。

* レコードタイプが `SSH Key`、`Server`、または `PAM User` であること
* `Private Key` フィールドに有効な形式のキーが含まれていること (上記の対応形式をご参照ください)
* キーにパスフレーズが必要な場合は、`Passphrase` フィールドが含まれていること
  {% endhint %}

ご利用のOS (Linux、macOS、Windows) でSSHエージェントを有効にするには、以下のガイドをご参照ください。

* [環境セットアップ](#environment-setup)

## SSHエージェントの使用 <a href="#using-ssh-agent" id="using-ssh-agent"></a>

最もシンプルな使用例では、SSH鍵をKeeperに保存します。パソコン上でSSHクライアントを使用し、秘密キーを必要とする操作を行う際、KeeperのSSHエージェント (Keeperデスクトップアプリケーションに統合されている) が起動し、ボルトがロック解除されている場合に、ユーザーにリクエストの承認を促します。

## GitでSSHエージェントを使用する <a href="#using-ssh-agent-with-git" id="using-ssh-agent-with-git"></a>

KeeperのSSHエージェントを使うと、GitHubなどのサービスへの認証やGitコミットへの署名を、安全かつスムーズに行えます。Keeperを使った[GitHubでの認証](/keeperpam/jp/privileged-access-manager/ssh-agent/integration-with-git.md#github-authentication)および[Gitコミットへの署名](/keeperpam/jp/privileged-access-manager/ssh-agent/integration-with-git.md#signing-commits)の設定手順をご確認ください。

* [Gitとの統合](/keeperpam/jp/privileged-access-manager/ssh-agent/integration-with-git.md)

## トンネルでSSHエージェントを使用する <a href="#using-ssh-agent-with-tunnels" id="using-ssh-agent-with-tunnels"></a>

ゼロトラスト構成でターゲットリソースを経由して[トンネル](/keeperpam/jp/privileged-access-manager/tunnels.md)接続を行う場合、KeeperのSSHエージェントが自動的にセッションを認証します。

PAMリソースでトンネルが有効化されると、トンネル情報の下にSSHコマンドが表示されます。

Keeper SSHエージェントがまだ有効化されていない場合は、**\[SSHコマンド (?)]** ヘルプをクリックすると、SSHエージェントの設定画面を開くためのリンクが表示されます。

<figure><img src="/files/K30xx3ASQcffDqqAi0Fc" alt=""><figcaption><p>トンネル付きSSHエージェント</p></figcaption></figure>

ローカルターミナルから、SSHコマンドを貼り付けます。

<figure><img src="/files/6QsHbdDmH37PfbKpvkjX" alt=""><figcaption><p>SSHコマンド</p></figcaption></figure>

パソコン上で、Keeperデスクトップの認証リクエストが起動します。リクエストには、要求されているキーが含まれています。リクエストを承認するには、**\[承認する]** をクリックします。今後同じキーに対するリクエストを自動的に承認したい場合は、**\[二度と表示しない]** を選択してください。

<figure><img src="/files/uTX9FkITOtvWF6Cln5ZY" alt=""><figcaption><p>SSHエージェント認証ダイアログ</p></figcaption></figure>

アクセスが許可されると、暗号化されたKeeperトンネルを介して、対象システムへのSSH接続が即座に確立されます。

<figure><img src="/files/VocEpGm9QRW2mz7NzBtm" alt=""><figcaption><p>SSHエージェントで確立されたトンネル</p></figcaption></figure>

***

## 環境セットアップ <a href="#environment-setup" id="environment-setup"></a>

### LinuxおよびmacOS <a href="#linux-and-macos" id="linux-and-macos"></a>

macOSおよびLinuxでは、ボルトのロック解除時にKeeperのSSHエージェントがバックグラウンドで動作します。`ssh`、`git`、`ssh-add` などのSSHツールと通信するには、`SSH_AUTH_SOCK` 環境変数をKeeperエージェントのUnixドメインソケットへ設定する必要があります。

LinuxまたはmacOSからKeeper SSHエージェントを使用するには、以下のコマンドをシェルのスタートアップファイルにコピーして貼り付けます。

<figure><img src="/files/wZHq2ZFCGfDgMAFKFsUZ" alt=""><figcaption><p>ターミナルセットアップコマンド</p></figcaption></figure>

例

```bash
export SSH_AUTH_SOCK='/path/to/keeper-ssh-agent.sock'
```

**zsh (macOS)**

* `~/.zshrc` ファイルを編集
* 変更を適用: `source ~/.zshrc`

#### **bash**

* `~/.bashrc` ファイルを編集
* 変更を適用: `source ~/.bashrc`

#### **fish shell**

* `~/.config/fish/config.fish` ファイルを編集
* 以下の行を追加して保存

```bash
set -x SSH_AUTH_SOCK /path/to/keeper-ssh-agent.sock
```

* 変更を適用

```bash
source ~/.config/fish/config.fish
```

#### **構成を確認**

```bash
echo $SSH_AUTH_SOCK
```

`/path/to/keeper-ssh-agent.sock` が表示されます。

変更を反映するには、新しいシェルを開き直す必要がある場合があります。

***

### Windows <a href="#windows" id="windows"></a>

KeeperのSSHエージェントでは、WindowsネイティブのOpenSSHエージェントと同様に、標準の `ssh-agent` プロトコルを **名前付きパイプ** 経由で実装しており、Windows OpenSSHクライアントと連携できます。

Keeperボルトのロック解除時の動作は以下のとおりです。

* Windowsの名前付きパイプでの待ち受けを開始
* ローカルのキーファイルなしで、`ssh`、`ssh-add`、`git` などのOpenSSHツールと連携
* `ssh-agent` プロトコルに基づく認証リクエスト、署名操作、キー一覧取得への応答

これにより、Windowsで完全なOpenSSH互換性が得られ、以下が可能になります。

* エージェント転送
* SSHキー署名
* Keeperに安全に保存されたキーによるパスワードレスログイン
* Gitコミット署名などの開発ワークフロー

WindowsのSSHエージェントサービスは、KeeperデスクトップのSSHエージェント画面で有効にすると起動します。

<figure><img src="/files/2GBIg4z8EebkVptecFRg" alt=""><figcaption><p>Windows上のSSHエージェント</p></figcaption></figure>

PowerShell経由でターゲットへ接続すると、Keeperから許可の確認が表示されます。

<figure><img src="/files/xRDnOcNuxmYkaDlnS21I" alt=""><figcaption><p>アクセス許可ダイアログ</p></figcaption></figure>

#### WindowsでのSSHエージェント競合について

WindowsでOpenSSHエージェントサービスが実行中の場合は、KeeperのSSHエージェントを使用する前に停止してください。両エージェントは同じ名前付きパイプ (`\\.\pipe\openssh-ssh-agent`) を待ち受けるため、同時に有効にできるのは一方のみです。

組み込みのOpenSSHエージェントを停止するには、以下を実行します。

```powershell
Stop-Service ssh-agent
Set-Service ssh-agent -StartupType Disabled
```

停止後は、Keeperのエージェントが処理を引き継ぎ、ボルトに安全に保存されたキーを使ってすべての `ssh` および `git` 操作を処理します。

***

## SSHキーのローテーション <a href="#rotation-of-ssh-keys" id="rotation-of-ssh-keys"></a>

KeeperPAMでは、オンデマンドまたはスケジュールに基づいてSSHキーを自動的にローテーションできます。

* [パスワードローテーション](/keeperpam/jp/privileged-access-manager/password-rotation.md)のセクションと[Linuxユーザー](/keeperpam/jp/privileged-access-manager/password-rotation/rotation-use-cases/local-network/linux-user.md)のSSHキー活用事例をご参照ください。


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.keeper.io/keeperpam/jp/privileged-access-manager/ssh-agent.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
