두 단축키는 하나의 VPN 전환 키가 감당해야 하는 추측을 없앱니다: 하나는 항상 연결하고, 다른 하나는 항상 해제합니다. 두 단축키는 모호함을 없앱니다: 하나는 항상 연결을 요청하고, 다른 하나는 항상 해제를 요청합니다. 둘 다 UUID를 통해 같은 저장된 프로필을 가리킵니다.

아래 순서대로 설정을 진행합니다. 보이지 않는 프롬프트를 발견하기에는 단축키가 좋은 자리가 아니므로, 연결하기 전에 각 명령을 터미널에서 시험해 보십시오.

프로필 이름이 아니라 UUID를 찾으십시오

평소 데스크톱 세션에서 저장된 연결을 나열하고 대상 VPN의 UUID를 복사합니다. 이름은 사람을 위한 것이며, 저장된 두 프로필이 하나의 이름을 공유할 수 있고, 삭제 후 다시 가져온 프로필은 새 식별자를 받습니다.

nmcli connection show
nmcli connection show "Office VPN" | grep -i uuid

UUID는 표시 이름이 아니라 단축키 정의에 보관합니다. 나중에 프로필이 교체되면 두 단축키를 한꺼번에 갱신하십시오. 오래된 식별자는 실패하는 연결 동작을 만들고, 해제는 여전히 예전 객체를 향하기 때문이며, 그래서 두 동작이 같은 값을 사용합니다. UUID를 프로필의 정체성으로 취급하십시오.

프로필이 자체 서비스를 가진 벤더 데몬이 아니라 NetworkManager VPN인지 확인합니다. 벤더 클라이언트는 자체 지원 제어 인터페이스가 필요하며, nmcli는 자신이 소유하지 않은 터널을 관리하지 않습니다. 이름이 모호하면 연결 유형을 확인합니다. 다른 데몬이 소유한 터널은 같은 목록에 나타나지 않습니다.

먼저 두 명령을 터미널에서 시험하십시오

대화식으로 연결을 요청하고, 승인된 로그인을 마치고, 실제로 필요한 사설 자원에 도달합니다. 그런 다음 대응하는 명령으로 해제하고, VPN이 아래의 Wi-Fi나 Ethernet 링크를 함께 끌고 가지 않고 내려가는지 확인합니다.

nmcli --ask connection up uuid 11111111-2222-4333-8444-555555555555
nmcli connection down uuid 11111111-2222-4333-8444-555555555555

두 가지 별개 동작으로 실행합니다. 이들은 연결 상태를 바꿀 뿐 프로필을 삭제하거나 설정을 편집하지 않습니다. 첫 실행의 터미널 출력을 보관해 정상적인 프롬프트 흐름을 알아 두십시오. 그 기록이 단축키 동작을 예측 가능하게 만듭니다.

유일한 원격 관리 경로로 해제를 시험하지 마십시오. VPN이 세션을 나르고 있다면 성공한 해제가 접근까지 끝내며, 복구에는 터널에 의존하지 않는 경로가 필요합니다. 로컬 콘솔이나 두 번째 링크를 준비해 두십시오.

두 개의 이름 붙은 단축키를 같은 UUID에 묶기

데스크톱 키보드 설정에서 이름이 분명한 두 동작(예: 사무실 VPN 연결, 사무실 VPN 해제)을 만듭니다. 서로 다른 키 조합을 지정하고 확인한 UUID를 두 명령에 모두 붙여 넣습니다.

상태가 아니라 의도로 이름을 붙입니다. 전환이라는 단축키는 다음 누름을 예측할 수 없게 만듭니다. 연결과 해제는 무엇이 요청될지 정확히 설명하며, 그래서 단축키 목록이 스스로를 설명합니다. 잘못 눌러도 예측 가능한 일을 합니다.

데스크톱이 desktop-entry 실행기를 쓴다면, 실행기는 터미널을 자동으로 할당하지 않습니다. 대화식 입력이 필요한 명령은 아무도 응답할 수 없는 곳에서 기다리게 됩니다.

인증 프롬프트를 볼 수 있는 곳에 두십시오

만약 --ask없이 실행하면, nmcli는 실행 중인 시크릿 에이전트에 빠진 자격 증명을 요청합니다. 데스크톱이 이미 이 VPN의 인증을 처리하고 에이전트가 자체 프롬프트를 표시할 수 있을 때 올바른 경로입니다. 동작한다고 가정하기 전에 단축키에서 바로 단순한 연결 명령을 시험해 보십시오.

VPN이 터미널 상호작용을 필요로 하면, 단축키가 데스크톱의 터미널 애플리케이션을 열고 거기서 대화식 명령을 실행하도록 구성합니다. 실행 인수는 터미널 애플리케이션마다 다르므로 설치된 것의 문서화된 형식을 사용합니다.

데스크톱 항목에서는, Terminal=true 터미널 창을 요청하고 Terminal=false 요청하지 않습니다. 어느 설정도 명령줄에 암호를 넣거나, 암호 없는 sudo를 허용하거나, 조직의 인증 정책을 우회할 이유가 되지 않습니다.

키를 누른 뒤 준비 상태 확인

키를 누른 것은 활성화를 요청했다는 뜻입니다. 인증이 끝났거나 경로가 설치되었거나 사설 DNS가 응답한다는 증거는 아닙니다. 연결 상태를 확인하고 그다음 실제 사설 자원을 확인합니다.

번역된 문장을 대조하는 대신 소유 클라이언트를 통해 상태를 읽으십시오. 사람이 읽는 텍스트는 언어에 따라 바뀌고, 한 머신에 VPN이 여러 개 있을 수 있으므로 문자열 일치는 잘못된 프로필을 보고하거나 전환 상태를 놓칠 수 있습니다.

다른 자동화가 VPN을 다시 연결한다면 해제 단축키와 조정하십시오. 서로를 무효화하는 두 주인은 키 누름을 무시하는 것처럼 보이는 연결을 만들지만, 실제 문제는 경합하는 정책입니다.

UUID, 두 명령, 준비 상태 점검을 메모에 기록하십시오. 다음에 프로필을 교체하거나 데스크톱을 업그레이드할 때 식별자와 의도한 프롬프트 경로가 이미 적혀 있으면 진단이 훨씬 쉽습니다.

관련 글