# 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[トンネル](/jp/keeperpam/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>

## ターミナルの構成

ローカルオペレーティングシステム (macOSおよびWindows) で作業するには、以下のガイドに従って、ターミナルでSSHエージェントを有効にします。KeeperのSSHエージェントを使用するようコンピュータに指示するために、環境変数を設定する必要があります。

* [ターミナルの構成](#tminaruno)

## 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コミットへの署名を、安全かつスムーズに行えます。GitHubとの連携や署名の設定方法については、以下のページをご参照ください。

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

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

ゼロトラスト構成でターゲットリソースを経由して[トンネル](/jp/keeperpam/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="#terminal-configuration" id="terminal-configuration"></a>

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

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

例

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

### macOS (zsh) <a href="#macos-zsh" id="macos-zsh"></a>

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

### Linux & Ubuntu (bash) <a href="#linux-and-ubuntu-bash" id="linux-and-ubuntu-bash"></a>

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

### fish Shell <a href="#fish-shell" id="fish-shell"></a>

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

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

* 変更を適用

```sh
source ~/.config/fish/config.fish
```

### 構成を確認 <a href="#verify-the-configuration" id="verify-the-configuration"></a>

```sh
echo $SSH_AUTH_SOCK
```

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

有効にするには、新しいシェルを開かなければならない場合があります。

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

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

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


---

# Agent Instructions: 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:

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

The question should be specific, self-contained, and written in natural language.
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.
