SSH 구성의 개별 호스트에만 일치하는 키워드 적용

SSH 구성의 개별 호스트에만 일치하는 키워드 적용

SSH를 통해 연결할 수 있는 호스트가 있습니다. 때로는 동일한 네트워크에 있고 네트워크에 직접 SSH를 통해 연결할 수 있고, 때로는 동일한 네트워크 외부에 있어 프록시를 사용해야 할 때도 있습니다.

프록시 서버를 통한 SSH는 직접 연결보다 훨씬 느리기 때문에 직접 연결을 시도하고 실패할 경우 프록시로 폴백하도록 SSH 구성을 설정하고 싶습니다.

현재 구성은 다음과 같습니다.

    Host proxy_server
    User user
    Port port
    Hostname some_domain

    Host target_host
    User user
    Port port
    Hostname ip_addr_of_host
    Match exec not_inside_network
    ProxyCommand ssh -W %h:%p proxy_server

target_host항목은 내 구성 파일의 마지막 항목이지만 not_inside_network구성 파일의 관련 없는 서버에 대한 SSH 연결에 의해 호출됩니다. 어떻게 Match이 한 서버에만 적용할 수 있나요?

답변1

Match와 비교할 수 있습니다 Host. 다른 옵션처럼 호스트의 하위 집합으로 존재하지 않습니다.

그러나 일치 항목에 대해 여러 조건을 지정할 수 있으며 이는 단락된 AND처럼 작동하는 것처럼 보입니다. 따라서 이것이 가능하고 효과가 있어야 합니다.

Match host target_host exec not_inside_network
    ProxyCommand ssh -W %h:%p proxy_server

이 규칙은 SSH를 사용할 때마다 확인됩니다. 그러나 "target_host"와 일치하지 않는 호스트의 경우 일치가 즉시 실패하고 다음 Match또는 Host키워드(있는 경우)로 이동합니다. 호스트가 "target_host"인 경우에만 실행이 수행됩니다. 그러면 명령문의 진실성에 따라 ProxyCommand가 호출되는지 여부가 결정됩니다.

발생하는 논리를 보려면 -vvv를 사용하여 실행하세요. debug3에서 일부 일치 검사를 확인해야 합니다.

관련 정보