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 파일을 내보내지 않으며, 앱이 보유한 자격 증명이나 인증서를 돌려주지 않습니다. 프로필이 존재한다는 것과 무엇을 대상으로 하는지만 보고합니다. 다른 곳에서 다시 만드는 방법은 별도의 답이 있는 별도의 질문입니다.
마이그레이션을 위해서는 승인된 원본 프로필이나 서버의 현재 다운로드를 구한 뒤, 지원되는 워크플로를 통해 가져오세요. 문서화된 가져오기 플래그는 원본 파일을 받지만, 내보내기 방향은 그 인터페이스의 일부가 아닙니다.
목록 출력을 깨끗하게 유지하세요
출력에는 내부 호스트 이름과 계정 식별자가 포함될 수 있습니다. 다른 목록 내보내기와 똑같이 취급하고, 스크린샷을 공유하기 전에 호스트와 사용자 필드를 가리세요.
검사에는 가져오기 스위치나 비밀번호가 필요하지 않습니다. 받은 명령이 프로필을 나열하기 위해서만 자격 증명을 요구한다면, 멈추고 문서화된 플래그를 확인하세요. 목록은 읽기 전용 질의이며, 그대로 남아야 합니다.