본문으로 바로가기

SSH 터널링 및 포트포워딩 설정(Bitvise)

category 유용한 정보 2019. 5. 10. 22:17

안녕하세요. 메타로그입니다.


이번 포스팅에서는 Bitvise 프로그램을 사용하여 SSH 터널링을 연결하고 원격 데스크톱에 연결하기 위한 포트포워딩 설정하는 방법에 대해 알아보도록 하겠습니다. 



이전 포스팅에 있던 SSH터널링을 통한 회사내부의 PC로의 접속하는 구성을 보면 실제로 접속을 시도하는 내 PC가 아니라 실제로 SSH Server와 터널링을 구성하는 회사 내부의 PC에 SSH Client를 설치해야하고 포트포워딩 설정 또한 SSH Client에서 설정을 해야 합니다.

SSH터널링 원격접속


Bitvise SSH Client 다운로드

- Putty와 같은 다양한 터미널 프로그램이 있지만 Bitvise를 사용한 이유는 포트포워딩을 쉽게 설정 할 수 있기때문에 Bitvise 프로그램을 사용하였습니다. 

Bitvise 공식 홈페이지를 통해 SSH Client 프로그램을 다운로드 받습니다.


bitvise ssh

bitvise ssh


Bitvise 공식 홈페이지 : https://www.bitvise.com/ssh-client-download


다운로드 받은 Client 인스톨 파일을 실행하여 설치를 진행합니다. 설치 과정은 next만 하면 되니 포스팅에서는 생략하겠습니다.

bitvise ssh client



SSH 터널링 설정하기

- SSH 터널링 설정은 어려울 것이 없습니다. Bitvise 프로그램을 이용하여 미리 만들어둔 SSH Server에 로그인하여 연결을 유지시켜주기만 하면 됩니다. 

SSH 로그인

 이전 포스팅에서 GCP를 이용하여 만든 SSH Server에 로그인 해야 하는데 GCP에서 만든 서버로 SSH로 로그인 할때 ID/PW로는 접속이 불가능하여 미리 GCP에 key 값을 등록해주어야 합니다. (GCP는 Google Cloud Platform의 약자로 무료로 가상 서버를 하나 만들 수 있습니다.)



Bitvise SSH Client 에서 Key 생성

 우선은 Bitvise Clinet 에서 Key를 생성해야 합니다. 아래 빨간색 네모 박스로 체크한 Client Key manager를 클릭합니다.

SSH Public Key 생성


  저는 미리 만든 Key가 하나 있지만 여러분은 아마 없을겁니다. 빨간 네모로 체크한 Generate New 버튼을 클릭합니다.

SSH Public Key 생성


 Size는 2048로 설정했고 Comment에는 GCP 계정 정보(ex ID@gmail.com)를 입력하고 Generate 버튼을 누릅니다. 

SSH Public Key 생성


 만들어진 Key를 선택하고 Export 설정을 아래 빨간 네모처럼 하고 Export 를 합니다.

SSH Public Key 추출


 Export한 Key 파일(.pub)을 메모장으로 열고 내용 전체를 복사합니다.

SSH Public Key


 복사한 Key 값을 GCP - Compute Engine - 메타데이터 - SSH 키 메뉴에 등록합니다.

GCP Key 등록



 이제 BItvise Client 프로그램에서 GCP 서버 IP와 SSH 포트(Default 22), ID 입력하고 GCP에 등록한 publickey - Global 1을 선택하고 로그인하면 아래처럼 로그인이 성공하여 SSH 터널링 연결까지 한겁니다. 

Bitvise key login


 회사 PC와 GCP에서 만든 SSH서버와 SSH 터널링 연결이 됐으니 포트포워딩 설정만 남았습니다. Bitvise Client에서 S2C 메뉴로 가면 설정할 수 있으며 아래와 같이 설정하면 회사 PC로 원격이 가능해집니다.

Bitvise 포트포워딩<포트포워딩 설정>


 어렵겠지만 설정에 대해 간단하게 설명 드리면 외부(집)에서 SSH 서버(GCP) IP(35.231.78.x)의 5800 포트로 원격접속을 시도하면 회사 PC의 3389포트(RDP)로 패킷을 포워딩해주는 겁니다. 포스팅 상단의 구성도 사진을 보면 보다 쉽게 이해가능할 겁니다.

SSH터널링 원격접속


접속결과는 이전에 포스팅을 참고하시기 바랍니다.



이렇게 SSH 터널링 설정을 통해 방화벽을 우회하여 원격제어(3389)뿐만 아니라 접속 차단한 URL 접속이나 메신저 프로그램도 우회가 가능합니다. 해당 내용은 다음 포스팅을 통해 알려드리겠습니다.