SSHエージェント

Keeperの内蔵SSHエージェントを使用して管理対象インフラへのSSHアクセスを簡素化

概要

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

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

  • Windows

  • macOS

  • Linux

主な特徴

  • 組み込み SSH エージェント すべての秘密鍵がKeeperデスクトップアプリに自動的に組み込まれるため、サードパーティのSSHエージェントは不要になります。

  • ローカルキー ストレージなし SSHキーは Keeperで安全に保存および管理されるため、ローカルマシンでキーが漏洩するリスクはありません。

  • シームレスな認証 Keeperボルトがロック解除されている際に、対象システムへのSSHアクセスを安全に認証します。

  • ローカルおよびリモート使用

    KeeperPAMトンネル経由の管理対象システムに加えて、直接接続可能なターゲットへのSSH接続もサポートします。

  • Git統合 GithubおよびGitlabで認証し、ワークステーションにローカルに秘密鍵を保存せずにGitコミットに署名します。

  • 暗号化されたキー Keeperに保存されているSSH秘密鍵はパスフレーズで暗号化できるため、保護層がさらに強化されます。さらに、レコードの [パスワード] フィールドをパスフレーズとして使用することで、セキュリティと利便性の両立を実現します。

  • キーローテーション Keeperの自動SSHキーローテーションによりSSHエージェントと連携し、常に最新のキーを使用できるようにします。

ダウンロード

Keeperデスクトップアプリケーションは、こちらのダウンロード ページから入手できます。

キーをKeeperに保存する

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

  • カスタムフィールドとして追加

  • ファイルとして添付

カスタムフィールドの例
添付ファイルの例

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

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エージェントの利点

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

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

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

SSHエージェントの有効化

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

開発者設定

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

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

SSHエージェント設定

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

レコードへのSSHアクセスを制限する

ターミナルの構成

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

SSHエージェントの使用

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

GitでSSHエージェントを使用する

KeeperのSSHエージェントを使うと、GitHubなどのサービスへの認証やGitコミットへの署名を、安全かつスムーズに行えます。GitHubとの連携や署名の設定方法については、以下のページをご参照ください。

トンネルでSSHエージェントを使用する

ゼロトラスト構成でターゲットリソースを経由してトンネル接続を行う場合、KeeperのSSHエージェントが自動的にセッションを認証します。

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

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

トンネル付きSSHエージェント

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

SSHコマンド

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

SSHエージェント認証ダイアログ

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

SSHエージェントで確立されたトンネル

ターミナルの構成

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

ターミナルセットアップコマンド

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

macOS (zsh)

  • ~/.zshrcファイルを編集

  • 変更を適用: source ~/.zshrc

Linux & Ubuntu (bash)

  • ~/.bashrcファイルを編集

  • 変更を適用: source ~/.bashrc

fish Shell

  • ~/.config/fish/config.fishファイルを編集

  • 以下の行を追加して保存します。

set -x SSH_AUTH_SOCK /path/to/keeper-ssh-agent.sock
  • 変更を適用

source ~/.config/fish/config.fish

構成を確認

echo $SSH_AUTH_SOCK

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

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

SSHキーのローテーション

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

最終更新