HTTP 프록시를 통한 SSH 연결
기존 HTTP CONNECT 프록시를 통해 호스트별 ProxyCommand로 SSH 연결을 전달합니다.
OpenBSD 호환 nc을 사용하여 이 호스트 항목을 SSH 클라이언트 구성(예: ~/.ssh/config)에 추가합니다:
Host work-through-proxy
HostName ssh.example.com
User alex
ProxyCommand nc -X connect -x proxy.example.net:8080 %h %p그 경로에는 ssh work-through-proxy을 사용합니다. 도우미가 HTTP 프록시에 ssh.example.com로의 CONNECT를 요청하고 허용된 스트림을 SSH에 넘깁니다. SSH를 프록시 포트로 직접 향하게 하면 핸드셰이크가 HTTP를 기대하는 서비스로 전달됩니다.
엔드포인트, 대상, 계정을 바꿉니다. 공개 중개자가 허용되는 공개 도달 가능 SSH 대상이라면 HTTP 프록시 목록이 해당 호스트와 포트로의 접근을 확인할 후보를 제공합니다. 표시된 명령에 프록시 계정이 필요 없는 엔드포인트를 고르십시오. 이 OpenBSD nc 옵션은 구현에 따라 다릅니다. nc라는 다른 실행 파일은 이를 지원하지 않을 수 있습니다.
프록시는 자체 로그인을 요구하거나 요청한 SSH 포트를 거부할 수 있습니다. 407은 바로 그 프록시 교환에 관한 것입니다. 터널이 열린 뒤에도 SSH는 대상 호스트를 검증하고 사용자를 인증합니다. 거부된 SSH 키는 다른 실패입니다.
ProxyCommand는 의도한 Host 섹션 아래에 두고 필요할 때 선택한 도우미가 지원하는 프록시 인증 경로를 사용하십시오. 이 명령은 스트림을 제공할 뿐 중개자를 통한 허가를 주지 않습니다. HTTPS 대상만 허용된다면 명령 표기를 바꾼다고 정책이 바뀐다고 가정하지 말고 승인된 SSH 접근 방식을 확보하십시오.