저는 오늘 ssh 터널 설정에 대한 기억을 새롭게하고 있었고 일부 로컬 포트를 웹 사이트로 전달하는 것을 설명하는 여러 소스를 발견했습니다. 예 : https://www.techrepublic.com/article/how-to-use-local-and-remote-ssh-port-forwarding
“클라이언트에서 터미널 창을 열고 다음 명령을 실행하십시오.
ssh -L 8080 : www.slashdot.org : 80 localhost
클라이언트 컴퓨터의 사용자 암호를 입력하라는 메시지가 표시됩니다. 기본적으로 SSH를 통해 클라이언트 컴퓨터에 다시 연결하지만 대상에 필요한 SSH 터널을 만듭니다. 로컬 계정에 대해 성공적으로 인증 한 후 브라우저를 열고 http : // localhost : 8080 을 가리 킵니다 . 브라우저가 자동으로 Slashdot로 리디렉션됩니다.”
실제로 시도하면 작동하지 않습니다. 실패한 연결, 500 오류, 404 오류 등으로 끝납니다. https가 아닌 다른 사이트도 시도했습니다. 거래는 무엇입니까?
이 기술은 작동하지만 액세스하는 모든 도메인에 대해 포트를 전달해야하므로 웹 사이트 액세스에는 그다지 좋지 않습니다. 크롬에서 slashdot을로드하고 개발자 도구를 사용하면 slashdot을로드 할 때 실제로는 적어도 21 개의 서로 다른 도메인에서 콘텐츠를로드하고 있음을 알 수 있습니다. 하나의 도메인 만 전달하는 경우 모든 콘텐츠가 표시되지 않습니다.
또 다른 문제는 포트 443에서 콘텐츠를 제공하는 사이트에서 포트 80으로 터널링한다는 것입니다. "curl -i slashdot.org"를 실행하면 HTTPS 로의 301 리디렉션을 제공한다는 것을 알 수 있습니다. 브라우저가 HTTPS 로의 리디렉션을 따르려고하면 모든 것이 실패합니다.
ssh를 SOCKS 프록시로 사용하고이를 사용하도록 브라우저를 구성하는 것이 좋습니다. 다음과 같이 로컬 포트에서 socks 프록시를 열 수 있습니다.
ssh -D 8080 myhost.com
myhost.com은 귀하의 경우 "localhost"일 수 있지만 일반적으로 원격 서버입니다. 이 세션이 열리면 브라우저 환경 설정으로 이동하여 localhost 포트 8080을 가리키는 SOCKS v5 프록시를 사용하도록 브라우저를 구성하십시오 (chrome imho보다 firefox에서 더 쉬움). 이 작업이 완료되면 브라우저는 ssh 터널을 통해 모든 트래픽을 실행합니다.
이것은 사설 네트워크에서 호스팅되는 웹 사이트에 액세스하거나 안전하지 않다고 생각하는 네트워크에서 데이터를 암호화하는 데 매우 유용 할 수 있습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다