기본 SOCKS 경로에서 SSH 호스트 하나 제외하기
와일드카드 기본 규칙 앞에 ProxyCommand none 예외를 두고 요청한 호스트의 실제 OpenSSH 설정을 확인합니다.
OpenSSH 설정이 기본적으로 SOCKS 커넥터를 사용한다면, 그 넓은 규칙 앞에 이름이 붙은 예외를 두십시오:
Host internal.example
ProxyCommand none
Host *
ProxyCommand nc -X 5 -x proxy.example:1080 %h %p
이 예제는 SOCKS5용 OpenBSD nc 옵션 인터페이스를 사용합니다. ssh internal.example 로 연결하면 예외가 선택되고, 나머지 호스트는 기본 커넥터를 받습니다. 허용된 공용 SSH 대상에는 SOCKS5 프록시 목록의 계정 없는 항목이 기본 프록시 주소를 제공할 수 있지만, 실제 각 호스트와 SSH 포트를 허용할 때만 그렇습니다. 의도한 내부 예외는 그대로 두십시오.
순서가 중요한 이유는 OpenSSH가 매개변수에 대해 처음 얻은 값을 사용하기 때문입니다. 예외는 일치하는 기본값이 ProxyCommand를 제공하기 전에 나와야 하며, Include 파일로 읽어 들인 기본값도 마찬가지입니다.
특정 호출의 실제 설정은 다음으로 확인하십시오:
ssh -G internal.example
호스트 패턴은 SSH를 호출할 때 쓴 이름과 일치합니다. 명령이 HostName이 internal.example을 가리키는 별칭을 사용한다면 그 별칭에도 의도한 예외를 주십시오. 그러면 규칙이 실제 설정 조회에 붙어 있게 되고, DNS에서 같은 이름이 같은 블록을 고른다고 가정하지 않게 됩니다.