우리 회사에는 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 22
SSH 서버가 기본 포트를 사용하는 경우에는 필요하지 않지만 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 터널에서 다음을 수행할 수 있습니다.
- 소스 포트에 90을 입력하세요.
- 대상에 devserver:80을 입력하세요.
- 추가를 클릭하세요
- 세션으로 돌아가서 저장을 클릭하는 것을 잊지 마세요.
모든 터널링보다 사무실에서 OpenVPN을 설정하는 것이 더 좋습니다.
답변3
나는 정반대로 행동합니다. 고객이 있을 때 랩톱의 터널리어를 통해 보안 SSH 터널을 설정하여 SSH 서버가 설치된 외부 서버를 가리켰습니다. 그런 다음 브라우저에서 SSH를 통해 라우팅된 외부 서버로 전달되는 트래픽을 활성화하기 위해 Google 크롬에서 스위치를 설정했습니다.
그래서,
- Chrome 브라우저에 Switchy를 설치합니다(ff/ie에서 프록시를 설정할 수 있습니다. Switchy를 사용하면 프록시 구성 간에 쉽게 전환할 수 있습니다). SOCKS 호스트를 127.0.0.1로, 포트를 1080으로 설정합니다.
- 원격 컴퓨터에 Tunnelier 클라이언트를 설정합니다. 노트북/가정용 컴퓨터를 회사 SSH 서버에 연결하세요. "SOCKS / HTTP 프록시 전달"이 활성화된 포트 1080을 사용하십시오.
도움이 되었기를 바랍니다.