SSH and Privoxy
------------------
|
|
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
배경 에서 이 프로 세 스 를 실행 합 니 다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
레 퍼 런 스
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
SSH 키 쌍이 손실된 경우 EC2 인스턴스에 대한 SSH 연결 복원얼마 전에 안타깝게도 중요한 EC2 인스턴스에 속한 SSH 키 쌍을 잃어버렸습니다. 그 시점에서 우리는 방금 인스턴스의 스냅샷을 찍고 새 키 쌍으로 새 인스턴스를 생성했습니다. 이 블로그 게시물에서는 SSH 연결을 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.