SSHプラグイン

Commanderを使用したSSH鍵のローテーション

Keeper Secrets Managerの新しいパスワードローテーション機能がリリースされました。パスワードローテーションのどのような事例でもこの新機能の使用を推奨します。詳細については以下をご参照ください。

Keeper Commander用のSSHプラグインを使用すると、1つまたは複数のターゲットシステムに対して、SSH鍵の生成およびローテーションが可能になり、ローカルユーザーやリモートユーザーのUnix/Linuxパスワードのローテーションもできます。

前提条件

SSH鍵のローテーション

OpenSSLとOpenSSHのインストール

このプラグインを使用するには、OpenSSLOpenSSHのパッケージが、Keeper Commanderを実行するコンピュータにインストールされている必要があります。

インストールを確認するには、ターミナルアプリケーションを開き、「openssl」コマンドと「ssh」コマンドがインストールされ、システムのPATH環境変数でアクセスできることを確認します。

SSHパスワードのローテーション

プラグイン名: ssh

ローテーション用の記録を準備

ローテーションは、従来の記録にもタイプ指定された記録にも対応しています。 タイプ指定された記録を使用する場合は、「ログイン」タイプのフィールドが必要です。 ローテーションの種類に応じて、その他のフィールドを追加することもできます。 以下の手順をご参照ください。

標準の「SSH鍵」記録タイプがSSHローテーションに適しています。

従来の記録とタイプ指定のある記録の詳細については、トラブルシューティングをご参照ください。

ログイン名を設定

Keeperの記録の「ログイン」フィールドにターゲットシステムのログイン名を入力します。

ホスト名とポートを設定

タイプ指定されていない記録を使用する場合は、ホストとポートをカスタムフィールドに設定できます。以下をご参照ください。

ヒント:ローテーションのプラグインが指定されていない場合、Commanderはポート番号で使用するローテーションを推測します。 ポート22はSSHローテーションを使用します

その他のローテーション設定

ローテーションパラメータをカスタマイズできる値は以下のとおりです。 これらのオプションをテキストフィールドとして記録に追加し、表に示すように、パラメータに相当するラベルを設定します。

ラベルコメント

cmdr:plugin

sshkey

ssh

cmdr:host

(任意) ターゲットサーバーのホスト名またはIPアドレス。記録フィールドとして入力しない場合は、カスタムフィールドとして追加できます

cmdr:rules

「大文字の数, 小文字の数, 数字の数, 記号の数」

(たとえば、4,6,3,8)

(任意) パスワード生成ルール

SSH鍵をローテーションする場合、ターゲットサーバーの公開鍵のローテーションを自動化するには、ターゲットホストの.ssh/authorized_keysの公開鍵を手動で1回更新する必要があります。

これを初回に設定すると、それ以降のローテーションはCommanderによって自動的に更新されます。

ローテーション

SSH鍵のローテーション

初期設定と実行

このプラグインを初めて設定する場合は、以下の手順に従ってください。

1. Keeperの記録を入力

Keeperの記録のタイトル、ログイン、ホスト名またはIP、ポートの各フィールドに入力します。

2. rotateコマンドを実行して公開鍵を格納

この記録に対して、Keeperシェルでrotateコマンドを実行します。Commanderは公開鍵と秘密鍵を生成し、それらを記録に格納します。公開鍵をコピーまたは保存し、ターゲットホストの.ssh/authorized_keysファイルに保存します。この手順は、最初に手動で行うか、またはssh-copy-idコマンドを使用してください。

ターゲットシステムのauthorized_keysファイルのパーミッションを設定してください。chmod 700 ~/.ssh; chmod 600 ~/.ssh/authorized_keys

3. 鍵のローテーションを実行

Keeperシェルでrotateコマンドを実行して、完全なローテーションを実行します。ローテーションに成功すると、ターゲットホストは新たに生成された公開鍵で更新され、Keeperの記録は秘密鍵と公開鍵のペアで更新されます。

rotate "SSH Credentials" --plugin sshkey

このプラグインは、ターゲットシステムがSSHサービスのデフォルト設定 (ユーザーのホームディレクトリの.sshディレクトリにあるauthorized_keysファイル) を使用することを前提としています。

rotateコマンドの詳細については、こちらをご参照ください

SSHパスワードのローテーション

SSHのパスワードをローテーションするには、Commanderでrotateコマンドを使用します。 コマンドに記録タイトルもしくはUIDを渡します (複数の記録を1度にローテーションさせるには、正規表現で--matchを使用します)。

rotate "SSH Credentials" --plugin ssh

プラグインは、こちらに示すようにコマンドに指定することも、記録のフィールドに追加することもできます (上記のオプションを参照)。 指定しない場合、Commanderはポートフィールドを使用して、使用するプラグインを識別します。 この場合、ポート22はsshプラグインが使用されることを意味します。 記録にプラグインタイプを追加すると、プラグインの異なる複数の記録を1度にローテーションできます。

最終更新