SSH 별칭 두 개, 서버 하나: 직접 VPN 또는 점프 호스트
승인된 VPN 경로와 승인된 배스천 경로를 별도의 별칭과 북마크로 유지하여, 어떤 지름길도 어느 경로가 승인되었는지 추측하지 않게 하십시오.
같은 프라이빗 서버가 승인된 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 세션이 경로 변경보다 오래 살아남아 다음 쓰기에서 실패할 수 있으므로, 조사하기 전에 버퍼를 저장하십시오. 지원되는 정리 절차로 닫고, 북마크를 다시 열고, 서버가 죽었다고 가정하는 대신 두 경로를 비교하십시오.
배스천과 대상 모두에 대해 호스트 키 검증을 켜 두십시오.
다른 경로라고 해서 예상하지 못한 서버 키를 받아들일 권리가 생기지 않으며, 승인되지 않은 경로가 허용되는 것도 아닙니다. 둘 다 당신이 내리던 결정과는 별개의 결정입니다.