connectコマンド
コマンダーCLIからRDPサーバーやSSHサーバーに接続
最終更新
connectコマンドは、コマンダーバージョン16.5.8以降で廃止されました。
特権セッション、セッション記録、その他の高度な機能に対応した完全なリモート接続管理ツールをお探しでしたら、新製品のKeeperコネクションマネージャー (KCM) を推奨します。
KCMはエージェントレスのリモートデスクトップゲートウェイで、ウェブブラウザを使用して、RDP、SSH、データベース、Kubernetesエンドポイントに安全かつ簡単にアクセスできます。
詳細:
connect
コマンドを使用すると、Keeperボルトのレコードに保存されたコンテンツやメタデータを利用して、SSH、RDP、またはその他の種類の接続を確立できます。コマンドラインパラメータと環境変数は、カスタムフィールドとファイル添付を使用して指定できます。
connect
コマンドは、名前が「connect:
」で始まるレコードのカスタムフィールドを読み取ります。
コマンド: connect
詳細: SSH、RDP、またはその他のプロトコルを使用して、サーバーに直接接続します。
パラメータ:
エンドポイント名またはエンドポイントへの完全なレコードのパス
スイッチ:
--syntax-helpで、コマンドパラメータおよびテンプレートパラメータのヘルプを表示します。
-n、--new ユーザーごとのデータを要求
-s、--sort <{endpoint, title, folder}> ソートするフィールドを選択
-f、--filter <フィルタ条件> 出力をフィルタ
こちらの例は、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エージェントと連携してRSA秘密鍵を登録できます。これにより、リモートシステムに接続するたびにSSHパスフレーズを入力する必要がなくなります。コマンダーは、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エージェントを管理できます。
サブコマンド:
start - sshエージェントを起動
stop - sshエージェントを停止
info - sshエージェントのステータスを表示
log - sshエージェントのログを表示
標準の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ファイルは、適切に設定されたリモートデスクトップ接続から保存されます。
サポートされているパラメータ置換
以下に記載したパラメータ置換を使用して、コマンドをカスタマイズできます。
利用可能なすべての接続を一覧表示
利用可能な接続のリストを取得するには、以下のように入力します。
接続を開始
コマンダーから (SSH/RDPの例を使用して) 接続を開始するには、以下のように入力します。
または
または、対話型シェルを使用せず、以下のようにターミナルから接続を実行することもできます。
備考
ボルトの単一のレコードに任意の数の接続参照を格納したり、レコードごとに接続を分離したりできます。
システムコマンドでユーザーの操作が必要な場合 (たとえば、SSH鍵ファイルにパスフレーズが含まれている場合)、コマンダーが入力を求めます。
他のKeeperボルトのレコードと同様に、接続のレコードはチーム間で共有したり、別のKeeperユーザーと共有したり、非公開にしたりすることができます。