Mac の OpenVPN Connect: CLI からインポート済みプロファイルを一覧表示
Mac の CLI は、インポート済みプロファイルを ID、ホスト、種類とともに一覧表示します。アプリの非公開ストレージフォルダーをコピーする代わりに、この一覧を移行に利用してください。
インポート済み接続の一覧は、Application Support 内のフォルダーではなく、アプリ自体から取得できます。macOS 版 OpenVPN Connect は、自身のプロファイルストアに問い合わせるコマンドラインフラグを公開しているため、回答は GUI が使うのと同じモデルから得られます。だからこそ、文書化された一覧は、閲覧で見つけたどのフォルダーよりも優れています。フォルダーがその代わりにならない理由も、これで説明できます。
コマンドが読み取るのは、インポート済みプロファイルごとの小さなレコードで、識別子、表示名、ホスト、プロファイルの種類、保存されたユーザー名、およびサーバーの上書き設定が含まれます。接続に関するその他の情報は、すべてそのレコードの背後にあります。レコードこそが一覧であり、意図的に狭く作られています。
CLI フラグが実際に届く範囲
Mac のコマンドラインガイドは--versionと--list-profilesを OpenVPN Connect の実行ファイルに対して文書化しています。ドキュメントのパスはプレースホルダーであり、インストール済みアプリケーションパッケージ内のバイナリに置き換える必要があります。アプリケーションバンドルの名前には通常スペースが含まれるため、そのパスを引用符で囲んでください。
そのバイナリは Homebrew のopenvpn実行ファイルではありません。これらは異なるフラグを持つ別のプログラムです、コミュニティクライアントのヘルプ出力を Connect の質問に対して実行すると、自信に満ちた誤った回答になります。
調べたいプロファイルのユーザーのコンテキストでクエリを実行します。プロファイルストアはユーザーごとの状態なので、管理者シェルでは別の一覧が見えたり、まったく見えなかったりします。GUI が明らかに接続を示しているのに一覧が空の場合は、その不一致を最初に確認してください。
名前だけでなくレコードを読む
一覧のフィールドは、似て見えるエントリを見分けるためにあります。二つのプロファイルが表示名を共有していても別のホストを指すことがあり、意図するプロファイルを書き留めるときに区別するのは識別子です。ID は名前の代わりではなく、名前の隣に記録してください。
種類のフィールドは、プロファイルがどのように認証するかを示し、自動ログイン、ユーザーロック、サーバーロックのいずれかです。この分類により、アプリがどの資格情報を求めるか、人がいなくても接続を開始できるかが分かります。
ホスト名とサーバーの上書き設定がルーティングの事実です。馴染みのある名前でも、ステージングホストへの上書きがあれば、上書きのない同じ名前とは別の接続になり、その違いを示すのはレコードだけです。他の何かを比較する前に、上書き設定を比較してください。プロファイルを手作業で作り直すときに、最も置き去りにされやすいフィールドです。
ストレージフォルダーが劣った代用品である理由
Application Support の下のディレクトリは非公開のストレージであり、文書化されたインターフェースではありません。その配置はリリース間で変わる可能性があり、中のファイルはそれを書き込んだアプリにとってのみ意味を持ちます。
そのフォルダーを別の Mac にコピーすると、ファイルは移動しますが、ファイルが依存するコンテキストは移動しません。Keychain のエントリ、登録済みユーザー、アプリ自身の記録管理は別々なので、コピーしたフォルダーが所定の場所に見えても接続に失敗することがあります。完全に見えて接続しない移行は、開始を拒否する移行より悪いです。
フォルダーは移行形式ではなく、価値不明のバックアップとして扱ってください。接続を移動する必要がある場合は、サーバーが発行した元のプロファイルを移動し、別のインストールの状態の一部を持ち出さないでください。
一覧から分からないこと
一覧は移植可能な .ovpn ファイルをエクスポートせず、アプリが保持する資格情報や証明書も返しません。プロファイルが存在することと、その対象を報告するだけです。別の場所で再作成する方法は、別の答えを持つ別の質問です。
移行には、承認された元のプロファイルまたはサーバーの現在のダウンロードを入手し、サポートされているワークフローでインポートします。文書化されたインポートフラグはソースファイルを受け取りますが、エクスポートの方向はそのインターフェースの一部ではありません。
一覧の出力をきれいに保つ
出力には内部ホスト名やアカウント識別子が含まれることがあります。他の一覧エクスポートと同様に扱い、スクリーンショットを共有する前にホストとユーザーのフィールドを伏せてください。
検査にインポートスイッチやパスワードは不要です。渡されたコマンドがプロファイルを一覧表示するためだけに資格情報を求める場合は、停止して文書化されたフラグを確認してください。一覧は読み取り専用のクエリであり、そうあり続けるべきです。