SSH 터널을 이용하여 외부에서 우리 회사 인트라넷 LAN 전용 웹사이트에 접속

SSH 터널을 이용하여 외부에서 우리 회사 인트라넷 LAN 전용 웹사이트에 접속

우리 회사에는 LAN에서만 액세스할 수 있고 웹 개발에 통합 서버로 사용되는 인트라넷 웹 서버가 있습니다. LAN의 사용자는 통합 서버의 Apache 구성에 정의된 동일한 가상 호스트를 사용하도록 /etc/hosts를 설정하고 표준 포트 80을 사용하여 연결할 수 있습니다.

저는 가끔 원격으로 작업하는데, 사용자 정의 포트를 사용하여 SSH를 통해 서버에 액세스할 수 있습니다.

/etc/hosts를 해당 서버의 공용 IP로 설정한 경우 브라우저 연결이 터널링되어 해당 웹 서버에서 페이지를 가져오도록 해당 사용자 지정 포트와 SSH 연결을 사용할 수 있는 방법이 있습니까?

답변1

귀하의 구성을 잘 이해하지 못했지만 회사 서버에 SSH를 통해 연결할 때 브라우저를 사용하여 회사 웹 서버에 액세스할 수 있도록 SSH 터널을 설정할 수 있어야 합니다.

당신은~ 아니다로컬 머신에 /etc/hosts를 설정해야 합니다. SSH 매개변수 사용

-L port:host:hostport

로컬 호스트의 포트에 대한 모든 트래픽은 원격의 호스트/호스트 포트로 터널링됩니다. 그래서 당신이 할 때

 ssh -L 80:web-server:80 user@ssh-server -p 22

http://localhost로 리디렉션됩니다 web-server:80. 호스트 포트는 원격 서버, 즉 SSH 서버에서 변환됩니다.

-p 22SSH 서버가 기본 포트를 사용하는 경우에는 필요하지 않지만 SSH 서버가 사용자 정의 포트를 통과한다는 질문이 있습니다. 이 경우 22사용자 정의 포트를 변경하십시오.

시스템이 이에 대해 불만을 표시하는 경우권한이 있는 포트는 루트로만 전달될 수 있습니다., 슈퍼유저로 실행하세요.

sudo ssh -L 80:web-server:80 user@ssh-server -p 12345

또는 루트로 로그인하세요.

답변2

SSH 명령줄 버전:

ssh -L 90:devserver:80 remotehost.example.com 

이제 다음을 찾아보세요.http://devserver:90/

/etc/hosts는 127.0.0.1을 가리켜야 한다는 점을 기억하세요.

PuTTY를 사용하면 SSH 터널에서 다음을 수행할 수 있습니다.

  1. 소스 포트에 90을 입력하세요.
  2. 대상에 devserver:80을 입력하세요.
  3. 추가를 클릭하세요
  4. 세션으로 돌아가서 저장을 클릭하는 것을 잊지 마세요.

모든 터널링보다 사무실에서 OpenVPN을 설정하는 것이 더 좋습니다.

답변3

나는 정반대로 행동합니다. 고객이 있을 때 랩톱의 터널리어를 통해 보안 SSH 터널을 설정하여 SSH 서버가 설치된 외부 서버를 가리켰습니다. 그런 다음 브라우저에서 SSH를 통해 라우팅된 외부 서버로 전달되는 트래픽을 활성화하기 위해 Google 크롬에서 스위치를 설정했습니다.

그래서,

  1. Chrome 브라우저에 Switchy를 설치합니다(ff/ie에서 프록시를 설정할 수 있습니다. Switchy를 사용하면 프록시 구성 간에 쉽게 전환할 수 있습니다). SOCKS 호스트를 127.0.0.1로, 포트를 1080으로 설정합니다.
  2. 원격 컴퓨터에 Tunnelier 클라이언트를 설정합니다. 노트북/가정용 컴퓨터를 회사 SSH 서버에 연결하세요. "SOCKS / HTTP 프록시 전달"이 활성화된 포트 1080을 사용하십시오.

도움이 되었기를 바랍니다.

관련 정보