connectコマンド
Commander CLIからRDPサーバーやSSHサーバーに接続
connectコマンドは、Commanderバージョン16.5.8以降で廃止されました。
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
は、コマンドラインで接続する際に参照できる名前となります。
サーバーに接続するには、以下のコマンドを実行します。
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」というサーバーに接続します。
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ファイルは、適切に設定されたリモートデスクトップ接続から保存されます。
サポートされているパラメータ置換
以下に記載したパラメータ置換を使用して、コマンドをカスタマイズできます。
利用可能なすべての接続を一覧表示
利用可能な接続のリストを取得するには、以下のように入力します。
接続を開始
Commanderから (SSH/RDPの例を使用して) 接続を開始するには、以下のように入力します。
または
または、対話型シェルを使用せず、以下のようにターミナルから接続を実行することもできます。
備考
ボルトの単一の記録に任意の数の接続参照を格納したり、記録ごとに接続を分離したりできます。
システムコマンドでユーザーの操作が必要な場合 (たとえば、SSH鍵ファイルにパスフレーズが含まれている場合)、Commanderが入力を求めます。
他のKeeperボルトの記録と同様に、接続の記録はチーム間で共有したり、別のKeeperユーザーと共有したり、非公開にしたりすることができます。
最終更新