Categories: 개발팁 & 유틸

Xshell ssh SOCKS 터널링 설정으로 포트 포워딩 적용 방법

SSH SOCKS 터널링 설정하기


이번에는 터미널 에뮬레이터인 Xshell을 이용하여 ssh 터널링을 해보도록 하겠습니다.

외부 네트워크에서 방화벽으로 인해 포트가 막힌 공유기 등의 장치로 연결하고자 특정 포트를 열어서 외부 네트워크에서 접속할 수 있도록 하려면 포트 포워딩 과정이 필요합니다.

Xshell을 사용하는 이유는 SSH SOCKS 터널링 설정을 위해서 SSH 프로토콜이 필요하며 포워딩 규칙을 지정해야 하기 때문입니다.

현재 내부 네트워크의 웹 서버에 접속하기 위해서 80포트는 막혀있지만, 특정 포트가 열려있다고 가정하여 진행해보겠습니다. (테스트는 내부 호스트 서버로 진행하였습니다.)

먼저 Xshell을 켜고 ‘파일 – 새로 만들기’를 클릭하여 새 세션을 만듭니다.

 

세 세션의 호스트 정보를 입력한 후, ‘연결 – SSH – 터널링’을 클릭합니다.

     

새로운 포워딩 규칙을 추가한 후, ‘Dynamic (SOCKS4/5)’ 를 선택한 후 적용해줍니다.

(이 때 수신 대기 포트는 3333(열려있는 포트) 으로 지정해줍니다)

새 세션 정보 입력을 마무리 한 후 저장해 줍니다.

크롬(Chrome) 브라우저를 기준으로 ‘설정 – 네트워크 – 프록시 설정 변경’ 을 선택해줍니다.

인터넷 속성에서 ‘연결 – LAN 설정 – 프록시 서버’ 란의 ‘사용자 LAN에 프록시 서버 사용(이 설정은 전화 연결이나 VPN 연결에는 적용되지 않음)’을 체크해주고 ‘고급’을 클릭해줍니다. 이 때 ‘로컬 주소에 프록시 서버 사용 안 함’에 체크가 되어있는지에 대해 주의해주세요.

 

 

브라우저 프록시 설정의 ‘Socks’를 ‘localhost’ 로 입력해주시고 포트를 규칙에 설정된 포트로 입력합니다.

모든 인터넷 설정이 완료되었다면 확인을 클릭하여 빠져나와 줍니다.

 

▲ 터널링 창으로 결과를 확인할 수 있습니다.

이제 Xshell을 켜고 터널링 창을 보이게 한 뒤, 방금 만들었던 세션을 실행시켜줍니다.

포워딩 규칙대로 해당 세션의 IP를 사용하여 소켓을 사용한 포트 포워딩에 성공하였음을 보여줍니다.

(direct-tcpip와 도착지가 제대로 표시되었다면 포워딩이 적용된 것입니다.)

JooTC

안녕하세요. 테크놀로지에 관심이 많은 블로거입니다.

Recent Posts

[iOS] Xcode ‘You do not have required contracts to perform an operation’ 해결

Xcode에서 iOS 애플리케이션을 빌드(Archive)하고 App Store Connect에 앱을 업로드하는 도중, 아래와 같은 에러가 발생하면서 더…

3주 ago

[안드로이드] INSTALL_FAILED_INSUFFICIENT_STORAGE 해결

INSTALL_FAILED_INSUFFICIENT_STORAGE 문제 안드로이드 스튜디오에서 에뮬레이터를 실행하고 개발중인 애플리케이션을 실행하려 하면 로그 창에 아래와 같이 표시되면서…

6개월 ago

Zalgo 텍스트와 이를 방지하는 방법

인터넷 커뮤니티 사이트에서 게시글이나 댓글에 간혹 장난을 목적으로 작성된 특이한 글자를 볼 수 있습니다. 위…

8개월 ago

리눅스 kill, killall 명령어 – 특정 프로세스 종료하기

리눅스 명령어 - kill, killall 리눅스 kill 명령어는 특정 프로세스를 종료해주는 명령어입니다. 백그라운드에서 실행되고 있는…

8개월 ago

JavaScript typeof null이 ‘object’인 이유

JavaScript는 역사가 긴 스크립트 프로그래밍 언어입니다. 세월이 흐르면서 많은 자바스크립트 표준이 만들어졌고, 현재는 많은 문법적…

8개월 ago

Mocha Error: Resolution method is overspecified. 해결 방법

NodeJS 테스트 프레임워크인 Mocha는 비동기 테스트를 지원합니다. 간혹 특정 테스트 스크립트를 작성하고 실행하면 아래와 같이…

8개월 ago