connectコマンド

Commander CLIからRDPサーバーやSSHサーバーに接続

connectコマンドは、Commanderバージョン16.5.8以降で廃止されました。

特権セッション、セッション記録、その他の高度な機能に対応した完全なリモート接続管理ツールをお探しでしたら、新製品のKeeper Connection Manager (KCM) を推奨します。

KCMはエージェントレスのリモートデスクトップゲートウェイで、ウェブブラウザを使用して、RDP、SSH、データベース、Kubernetesエンドポイントに安全かつ簡単にアクセスできます。

詳細:

製品ホームページ

connectコマンド

connectコマンドを使用すると、Keeperボルトの記録に保存されたコンテンツやメタデータを利用して、SSH、RDP、またはその他の種類の接続を確立できます。コマンドラインパラメータと環境変数は、カスタムフィールドとファイル添付を使用して指定できます。

connectコマンドは、名前が「connect:」で始まる記録のカスタムフィールドを読み取ります。

connectコマンド:

コマンド: connect

詳細: SSH、RDP、またはその他のプロトコルを使用して、サーバーに直接接続します。

パラメータ:

エンドポイント名またはエンドポイントへの完全な記録のパス

スイッチ:

--syntax-helpで、コマンドパラメータおよびテンプレートパラメータのヘルプを表示します。

-n、--new ユーザーごとのデータを要求

-s、--sort <{endpoint, title, folder}> ソートするフィールドを選択

-f、--filter <フィルタ条件> 出力をフィルタ

ゲートウェイ経由でサーバーにSSH接続

こちらの例は、SSHゲートウェイを介してサーバーに接続する方法となります。Keeperの記録には、以下のカスタムフィールドが設定されています。

カスタムフィールド名

カスタムフィールド値

connect:xxx:description

ゲートウェイ経由で本番サーバー

connect:xxx

ssh -o "ProxyCommand ssh -i ${file:gateway.pem} ec2-user@gateway -W %h:%p" -i ${file:server.pem} ec2-user@server

File Attachment

gateway.pem

File Attachment

server.pem

xxxは、コマンドラインで接続する際に参照できる名前となります。

サーバーに接続するには、以下のコマンドを実行します。

My Vault> connect my_server
Connecting to my_server...

Last login:Sat Sep 28 00:25:34 2019 from 12.23.34.5
ec2-user@my_server:~$ 
ec2-user@my_server:~$ logout
Connection to my_server closed.
My Vault>                   

SSH秘密鍵がパスフレーズで暗号化されている場合は、毎回パスフレーズの入力を求められます。これを回避するには、次のセクションに記載のSSHエージェントバリエーションのご使用を推奨します。

SSHでSSHエージェントを使用

ローカルSSHエージェントと連携してRSA秘密鍵を登録できます。これにより、リモートシステムに接続するたびにSSHパスフレーズを入力する必要がなくなります。Commanderは、Mac OS/Linuxシステムでは、SSH_AUTH_SOCK環境変数を使用します。PowerShell OpenSSHの実装は、Windowsシステムでサポートされています。

ssh-agentと連携できるようにするには、POSIX互換システムでSSH_AUTH_SOCK環境変数が設定されていることを確かにします。Microsoft Windowsの場合は、SSHエージェントシステムサービスが実行されていることを確かにします。Keeperのconnectコマンドは、SSHエージェントを使用して、接続セッションで使用される秘密鍵を一時的に記憶します。セッションが切断されると、秘密鍵は削除されます。

SSHエージェントを使用してリモートシステムに接続するには、ボルトの記録にカスタムフィールドを1つ追加します。

カスタムフィールド名

カスタムフィールド値

connect:xxx:ssh-key:yyy

${zzz} ${password}

SSH鍵がファイル添付に保存されている場合

カスタムフィールド名

カスタムフィールド値

connect:xxx:ssh-key:yyy

${body:zzz} ${password}

SSH鍵タイプの記録を参照する場合

カスタムフィールド名カスタムフィールド値

connect:xxx:ssh-key:yyy

<記録UID>

ここで、xxxは接続名となります。yyyは、SSHエージェントで使用されるオプションで、鍵の名前です。zzzは、カスタムフィールドか添付ファイルのいずれかを参照します。

こちらの例では、最初のパラメータは秘密鍵を参照し、2番目のパラメータは秘密鍵の暗号化に使用されるパスフレーズを参照します。

${password}は、記録のパスワードフィールドに格納されている値を参照します。

暗号化されたパスフレーズを使用してリモートシステムに接続するのは簡単です。以下の例では、「example2」というサーバーに接続します。

My Vault> connect example2
Connecting to example2...

Last login:Sat Sep 28 00:25:34 2019 from 12.23.34.5
craig@example2:~$ 
craig@example2:~$ logout
Connection to example2 closed.
My Vault>                                     

ssh-agentコマンド

ssh-agentコマンドを使用して、Commander内でsshエージェントを管理できます。

サブコマンド:

  • start - sshエージェントを起動

  • stop - sshエージェントを停止

  • info - sshエージェントのステータスを表示

  • log - sshエージェントのログを表示

リモートデスクトップ (RDP) ランチャーの例

標準のMicrosoftリモートデスクトップアプリケーションを使用してリモートのWindowsサーバーにに接続するために、Keeperではシステムコールを使用して、pre-login、login、post-loginコマンドを実行します。こちらの例では、「pre-login」コマンドで現在のユーザーのWindows資格情報マネージャーにパスワードを一時的に保存します。「login」コマンドでRDPテンプレートファイルと保存されたクレデンシャルを使用して接続を開始します (RDPテンプレートファイルはオプションです)。セッションが終了すると、「post login」コマンドが実行され、資格情報マネージャーからパスワードが削除されます。

ボルトの記録フィールド:

カスタムフィールド名

カスタムフィールド値

connect:rdp_demo:description

デモサーバーへのリモート接続

connect:rdp_demo:pre

cmdkey /generic:12.34.56.78 /user:${login} /pass:${password} > NUL

connect:rdp_demo

mstsc ${file:Default.rdp}

connect:rdp_demo:post

cmdkey /delete:12.34.56.78 > NUL

File Attachment

Default.rdp

注: Default.rdpファイルは、適切に設定されたリモートデスクトップ接続から保存されます。

サポートされているパラメータ置換

以下に記載したパラメータ置換を使用して、コマンドをカスタマイズできます。

${user_email}:Keeperユーザーのメールアドレス 
${login}:記録のログインフィールド
${password}:記録のパスワードフィールド
${text:<name>}:ユーザーごとのカスタム変数、値の入力を求める、非共有 
${mask:<name>}:ユーザーごとのカスタム変数、値の入力を求める、非共有 
${file:<attachment_name>}:使用中は一時ファイルに保存、接続終了後に削除
${body:<attachment_name>}:添付ファイルのraw形式のコンテンツ。

利用可能なすべての接続を一覧表示

利用可能な接続のリストを取得するには、以下のように入力します。

My Vault> connect

接続を開始

Commanderから (SSH/RDPの例を使用して) 接続を開始するには、以下のように入力します。

My Vault> connect my_server

または

My Vault> connect rdp_demo

または、対話型シェルを使用せず、以下のようにターミナルから接続を実行することもできます。

$ keeper connect my_server

備考

  • ボルトの単一の記録に任意の数の接続参照を格納したり、記録ごとに接続を分離したりできます。

  • システムコマンドでユーザーの操作が必要な場合 (たとえば、SSH鍵ファイルにパスフレーズが含まれている場合)、Commanderが入力を求めます。

  • 他のKeeperボルトの記録と同様に、接続の記録はチーム間で共有したり、別のKeeperユーザーと共有したり、非公開にしたりすることができます。

最終更新