SSH and Privoxy

SSH 는 강력 한 도구 입 니 다.연 결 된 데이터 흐름 은 양 방향 입 니 다.보통 이 를 통 해 내부 네트워크 의'관통'을 실현 할 수 있 습 니 다.특히 동적 포트 퍼 가기 기능 은 SOCKS 5 프로 토 콜 을 바탕 으로 다른 응용 이 이'터널'을 통 해 정보 교 류 를 할 수 있 습 니 다.그러나 대부분 응용 되 는 인 터 랙 션 프로 토 콜 은 http/https 를 사용 하고 socks 5 프로 토 콜 은 세 션 층 에서 작 동 합 니 다.응용 층 의 대 리 를 할 수 없습니다.이 때 는 도구 인 Privoxy 를 빌 릴 수 있 습 니 다.Privoxy 는 socks 대 리 를 바탕 으로 http 대 리 를 만 들 수 있 습 니 다.물론 privoxy 는 다른 기능 이 많 습 니 다.여기 서 설명 하지 않 고 자세 한 내용 은 User Manual 에 방문 할 수 있 습 니 다.다음은 하나의 도 례 를 둘러싸 고 설명 한다.
                    ------------------
                    |
                    |
HOST  Jump Server  ECS
                    |
                    |
                    ------------------

HOST 호스트 가 ECS 에 접근 하려 고 하지만 ECS 에 접근 하 는 유일한 방법 은 Jump server 를 통 해 접근 하 는 것 입 니 다.HOST 와 Jump server,Jump server 와 ECS 간 에 통신 할 수 있 는 유일한 방법 은 ssh 이 고 Jump server 와 ECS 는 외부 네트워크 에 연결 할 수 없습니다.현재 몇 가지 상황 으로 나 뉘 어 있 습 니 다.
HOST SSH 로 ECS 연결
가장 생각 하기 쉬 운 방법 은 먼저 HOST 가 ssh 를 통 해 Jump server 에 로그 인 한 다음 에 Jump server 를 통 해 ECS 에 로그 인 하 는 것 입 니 다.그러나 이런 방법 은 두 단계 로 나 누 어야 하고 파일 을 전송 할 때 도 매우 불편 합 니 다.더 직접적 이 고 간단 한 방법 이 있 습 니까?답 은 긍정 적 입 니 다.아래 명령 을 보 세 요.
ssh -4 -o TCPKeepAlive=yes -o ServerAliveInterval=300 -o ProxyJump=@ -f @
  • -4는 IPV 4 를 선택 하 는 것 을 의미한다.
  • -o는 설정/etc/ssh/ssh_config과 같 고 뒤에 설정 파 라 메 터 를 연결 합 니 다.그 중에서ProxyJump은 중간 에 있 는 ssh 프 록 시
  • 를 설정 하 는 것 입 니 다.
  • -f배경 에서 이 프로 세 스 를 실행 합 니 다
  • 위 명령 을 통 해'투명'ECS 에 연결 할 수 있 고 파일 을 전송 할 때 도 훨씬 편리 합 니 다.
    HOST 의 응용 프로그램 은 Http 프로 토 콜 을 통 해 Jump server 내부 자원 에 접근 합 니 다.
    먼저 SSH 의 포트 퍼 가기 개념 과 원 리 를 이해 하고 실전 SSH 포트 퍼 가기 를 참고 하 십시오
  • 다음 명령 을 실행 합 니 다.
    ssh -o TCPKeepAlive=yes -o ServerAliveInterval=300 -Nf -D  @
  • -N포트 리 트 윗 명령 에 사용 되 는데 원 격 명령 을 실행 하지 않 는 다 는 뜻 이다.
  • -D동적 포트 리 트 윗,뒤쪽 포트 번호
  •        ,    HOST ``       Jump server     (  Jump server    ssh     ,         ,Jump server  SSH server,               ,       ,      ),         SOCKS5  ,  HOST `127.0.0.1:`       SOCKS     。
    
  • 설치Privoxy네트워크 설치 가 불가능 하면 원본 코드 를 다운로드 한 후 스스로 컴 파일 하여 설치 할 수 있 습 니 다.절 차 는 참고 하 시기 바 랍 니 다.https://www.privoxy.org/user-...。
  • 설정 파일 변경config.일반적으로/etc/privoxy/config또는/usr/local/etc/privoxy/config에서 찾 을 수 있 습 니 다.주로 두 곳 을 수정 합 니 다.하 나 는listen-address 127.0.0.1:8118이 고 privoxy 기본 감청 포트 는 본 기계 의 8118 포트 이 며 수요 에 따라 수정 할 수 있 습 니 다.다른 하 나 는forward-socks5,특히 주의 와forward-socks5t의 차이 점forward-socks5은 리 트 윗 할 때 원 격 DNS 를 활용 하여 분석 한 반면forward-socks5t은 다르다(참고 가능).https://lists.privoxy.org/pip...),config파일 에는 기본적으로forward-socks5t만 있 고 사용forward-socks5t은 예상 치 못 한 문제 가 많 습 니 다.따라서forward-socks5t아래 에 하나forward-socks5 / 127.0.0.1: .를 추가 하면 1 단계 로 만 든 socks 5 대 리 를 http 대리 로 전환 할 수 있 습 니 다.

  • HOST 호스트 에 저 장 된 docker images 를 Jump server 다음 container registry 로 미 루 려 면 이 http 대 리 를 이용 할 수 있 습 니 다.docker daemon 간 에 http/https 프로 토 콜 을 통 해 통신 되 기 때문에 구체 적 인 조작 방식 은 참고 하 시기 바 랍 니 다.https://docs.docker.com/confi...
    Jump server 액세스 네트워크
    앞 에 있 는 쿠션 이 있 으 면 Jump server 는 공공 네트워크 설정 에 접근 하 는 것 도 매우 간단 합 니 다.SSH 동적 포트 를 HOST(물론 HOST 가 공공 네트워크 에 접근 할 수 있 도록 보장 하 십시오)에 전송 하고 privoxy 로 http 대 리 를 실현 하면 됩 니 다.절 차 는 앞 과 같 지만 SSH clien 과 SSH server 의 역할 이 바 뀌 었 습 니 다.현재 Jump server 는 SSH client 이 고 HOST 는 SSH server 입 니 다.그러나 여기에 문제 가 존재 합 니 다.만약 에 HOST 도 NAT 네트워크 에 있다 면 Jump server 는 SSH 동적 포트 에서 전송 하 는 연결 요청 을 주동 적 으로 할 수 없습니다.어떻게 해 야 합 니까?이 때 SSH 의 원 격 포트 퍼 가기 기능 을 사용 해 야 합 니 다.HOST 에서 다음 명령 을 실행 합 니 다.
    ssh -o TCPKeepAlive=yes -o ServerAliveInterval=300 -Nf -R 2222:127.0.0.1:22 @
    -R원 격 포트 리 트 윗 을 의미 합 니 다.상기 명령 은 HOST 호스트 에서 실 행 됩 니 다.Jump server 에 접근 하 는2222포트 는 모두 HOST 본기22포트 로 전송 되 기 때문에 이 명령 을 실행 한 후에 Jump sever 는 ssh 를 통 해 자신의 2222 포트 를 연결 하면 ssh 를 통 해 HOST 의 22 포트 에 연결 하 는 것 과 같 습 니 다.이렇게 해서 점프 서버 가 NAT 네트워크 내 HOST 에 주동 적 으로 연결 되 지 못 하 는 문 제 를 해결 했다.
    한 마디 로 하면 ssh 연결 이 성공 하면 http 대 리 를 만 들 수 있 습 니 다.뒤의 절 차 는 앞 과 유사 하 므 로 여기 서 군말 하지 않 습 니 다.
    Appendix
    레 퍼 런 스
  • SSH 포트 리 트 윗 상세 설명
  • ssh 명령 상세 설명
  • Privox building from source
  • Privoxy config file
  • docker under proxy
  • 좋은 웹페이지 즐겨찾기