같은 프라이빗 서버가 승인된 VPN을 통해서도, 승인된 배스천을 통해서도 응답하며, 당신은 추측하는 지름길 대신 각각에 대해 Emacs 북마크 하나를 원합니다. 결정은 어느 경로가 더 나은지가 아니라, 눈앞의 작업에 어느 경로가 승인되었는지입니다. 둘 다 명시적으로 유지하고, 각각 따로 이름을 붙이며, 파일 이름이 어느 쪽을 골랐는지 말하게 하십시오.

조건 하나: 어느 경로가 승인되었습니까?

점프 호스트는 VPN 요구 사항에 대한 자동 대체 경로가 아니며, VPN은 승인된 배스천을 건너뛸 면허가 아닙니다. 당신의 계정과 이 데이터에 어떤 경로가 승인되었는지 물어보십시오. 둘 다 승인되었다면 선택이 있고, 하나만이라면 북마크 집합에는 항목이 하나뿐입니다. 그 답은 데이터 소유자에게서 나오며, 오늘 우연히 작동하는 경로에서 나오는 것이 아닙니다.

사고가 나면 이 구분이 순식간에 사라지므로 답을 적어 두십시오.

두 경로 모두 각자의 계정 및 신원 구성이 필요합니다. 한 경로에서 작동하는 공유 별칭이 다른 경로에서는 네트워크와 아무 관련 없는 이유로 실패할 수 있습니다.

조건 둘: 각 경로를 구별되게 이름 붙일 수 있습니까?

SSH 구성은 하나의 주소에 대해 호스트 별칭 두 개를 담을 수 있으며, 각각 프록시 동작이 다릅니다. 대부분의 옵션에서는 처음 얻은 값이 이기므로 구체적인 블록을 넓은 와일드카드보다 앞에 두십시오.

Host proj-direct proj-bastion
    HostName 10.60.0.21
    User analyst
    ControlPath none

Host proj-direct
    ProxyJump none

Host proj-bastion
    ProxyJump gw.example.com

위 주소는 예시이므로 팀이 문서화한 주소로 바꾸십시오. 점프 별칭에는 배스천의 승인된 계정도 필요하며, 보통 배스천 자체를 위한 두 번째 Host 블록을 뜻합니다. 여기서 연결 공유를 끄면 재사용된 다중화 연결이 관찰하려는 경로 변경보다 오래 살아남을 수 있기 때문에 경로 비교가 정직하게 유지됩니다.

그러면 원격 파일 이름은 구별되고 읽을 수 있는 상태로 남습니다.

/ssh:proj-direct:/srv/project/README.md
/ssh:proj-bastion:/srv/project/README.md

조건 셋: 편집기가 그 차이를 압니까?

TRAMP는 그 두 파일 이름을 서로 다른 대상으로 취급하며, 그것이 바로 당신이 원하는 것입니다. 각각을 어느 경로를 쓰는지 알려 주는 이름 아래에 북마크하고, 하나의 대상 의미를 편집하는 대신 북마크를 다시 여십시오. 북마크 두 개는 비교도 눈에 보이게 하여, 설정을 전혀 바꾸지 않고 둘 다 열어 어느 쪽이 실패하는지 볼 수 있습니다.

ProxyJump가 관련되면, 관련 연결에서 TRAMP의 연결 공유가 꺼져 있어야 하므로 열기 전에 tramp-use-connection-share를 nil로 설정하는 설정에 주목할 만합니다. 이것은 호환성 설정이며, 빠진 경로에 대한 수정이 아니고, 승인되지 않은 경로를 승인된 것으로 만들지도 않습니다. TRAMP FAQ는 이 이름들을 줄이는 지원되는 방법으로 북마크를 문서화합니다.

조용히 경로를 바꾸는 북마크는 북마크가 아예 없는 것보다 나쁩니다.

네트워크 아이콘이 아무것도 증명하지 못하는 이유

NetworkManager의 전반적 상태 값 70은 머신에 전역 연결성이 있음을 뜻합니다. 그것은 어떤 VPN 프로필도 지목하지 않으며, 평범한 Wi-Fi로도 충족됩니다. 필요한 경로만 정확히 실어 나르는 프라이빗 전용 터널은 그 집계 값을 그대로 둘 수 있습니다. 그래서 아이콘에 묶인 지름길은 한 번도 시험하지 않은 경로에 대해 준비 완료를 보고할 수 있습니다.

전역 상태 대신 특정 연결의 상태를 읽으십시오.

무엇이든 자동화한다면 이름이 붙은 연결에 질의하고, 그다음 같은 순서로 대상 경로, 리졸버 응답, SSH 도달 가능성을 확인하십시오. 이들 각각은 앞 단계가 성공하는 동안 실패할 수 있으며, 이것들을 하나의 불리언으로 합치는 것이 자동화가 한 번도 쓰지 않은 경로에 대해 성공을 보고하게 되는 방식입니다.

경로가 작동을 멈추면 무엇을 해야 합니까

기존 TRAMP 세션이 경로 변경보다 오래 살아남아 다음 쓰기에서 실패할 수 있으므로, 조사하기 전에 버퍼를 저장하십시오. 지원되는 정리 절차로 닫고, 북마크를 다시 열고, 서버가 죽었다고 가정하는 대신 두 경로를 비교하십시오.

배스천과 대상 모두에 대해 호스트 키 검증을 켜 두십시오.

다른 경로라고 해서 예상하지 못한 서버 키를 받아들일 권리가 생기지 않으며, 승인되지 않은 경로가 허용되는 것도 아닙니다. 둘 다 당신이 내리던 결정과는 별개의 결정입니다.

관련 글