SSH Tunneling 을 이용해 firewall 안에 있는 서버 접속하기

pPGpS

직장에서 작업할 때는 컴퓨터 A 에서 컴퓨터 B (server B 있는 웹페이지) 에 있는 파일에 접속하는데 아무런 문제가 없었지만, 직장 밖에서 컴퓨터 B (server B)에 있는 파일에 접속하지 못하는 경우가 발생하여 여러 작업을 하는데 불편을 겪게 되었다. 그러던 중 외부에서 컴퓨터에서 컴퓨터 A 로 ssh  로그인 할 수 있다면 ssh tunnel 을 이용하여 외부에서 컴퓨터 B 의 파일에 접근할 수 있는 방법을 알게 되었다.

이런 경우 컴퓨터간 정보가 전달되는 과정을 살펴보자면,
외부 컴퓨터에서 ssh 서버 (컴퓨터 A) 로 로그인 하고, 컴퓨터 A로 하여금
외부 컴퓨터에서 컴퓨터 A의 특정포트 (PortA) 로 보내는 명령을 서버 B  의 지정포트 (PortB)  보내도록 하고 컴퓨터 B 가 보낸 답신을 컴퓨터 A 가 받아 외부 컴퓨터로 전달하는 것이라 할 수 있다.

이러한 방법을 사용하려면 먼저

1) 컴퓨터 A 에 ssh tunneling을 지원하는 ssh 서버 (sshd)가 설치되어 있어야 하고

2) 내 컴퓨터에 ssh tunnel 기능을 지원하는 ssh 클라이언트가 설치 되어 있어야 한다.

외부에서 서버 B에 설치되어 있는 웹페이지에 접속하는 경우를 생각해보자.

서버 A 와 서버 B 의 인터넷 아이피 주소가  각각 1.2.3.4 , 10.20.30.40 이라고 하고, 서버 A 의 PortA (번호가  9000) 으로 보내는 명령을 서버 B의 PortB (번호가 80) 로 보내도록 설정한다고 하자. 이때  외부에 있는 내 컴퓨터에서 서버 A 로 다음과 같은 명령으로 ssh 로그인 하도록 한다.

ssh -l username -L 9000:10.20.30.40:80 1.2.3.4

비밀번호 요청이 있으면 비밀번호를 입력하도록 하자.

위와 같이 로그인한 후,  서버 B에 있는 웹서비스에 접속을 하려 한다면, 외부 컴퓨터에서 웹브라우져를 실행시킨 후 주소창에

 http://localhost:9000/

또는

 https://localhost:9000/

을 입력함으로써 서버 B의  웹서비스에 접속할 수 있다.

SSH Tunneling 을 이용해 firewall 안에 있는 서버 접속하기

답글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.