SSH 터널링 사용법

SSH 터널링 사용법을 알아보려고 합니다.SSH는 리눅스 서버에 액세스 할 때 사용하는 프로토콜입니다.TCP22 포트를 사용합니다.

터널링은 일반적으로 직접 연결할 수 없는 경우에 사용합니다.무슨 뜻이냐면요.

그림에서 클라이언트는 수신인 서버에 액세스하려고 합니다.그러나 보안상 직접 액세스할 수 없습니다.

그러나 경유서버에서 대상서버로의 접근이 가능하다면 터널링 기능을 통해 경유서버를 경유하여 대상서버에 접속할 수 있습니다.

이때 대상 서버에 액세스하고자 하는 프로토콜이 SSH(22/tcp)가 아닌 WEB(80/tcp)일 수도 있습니다.예를 들어 클라이언트에서 경유 서버나 대상 서버로의 SSH 직접 접속은 가능하지만 대상 서버로의 WEB 직접 접속이 불가능한 경우가 있습니다.(대상 서버에서 80포트로의 접속을 자신의 네트워크에서만 허용하는 경우)

이때 경유 서버에 SSH 터널링 기능을 이용하면 마치 클라이언트와 대상 서버 사이에 터널이 생성된 것처럼 직접 접근할 수 있습니다.

클라이언트가 Linux인 경우와 클라이언트가 Windows인 경우로 나누어 설명합니다.위 명령 후 경유서버의 Linux에 대한 비밀번호를 입력해주시면 ssh 로그인이 완료됩니다.그리고 웹 브라우저에서 http://localhost:10000 접속하시면 마치 클라이언트에서 대상 서버로 웹 프로토콜을 통해 직접 접속한 것처럼 웹 화면이 나타납니다.Linux는 당연히(?)ssh 명령을 사용하지만 Windows 10에서도 cmd 창을 열고 ssh 명령을 사용할 수 있습니다.같은 역할을 하는 명령어입니다.다만 ssh 옵션의 값만 조금 다릅니다.만약 대상 서버가 1대가 아닌 여러 대라면 -L 옵션을 주고 추가 대상 서버 IP를 입력하십시오.상기 명령어 입력 후 리눅스 비밀번호를 입력하시면 10.10.22의 80포트는 클라이언트에서 localhost:10001에 접속할 수 있고, 10.10.23의 80포트는 클라이언트에서 localhost:10002에 접속할 수 있습니다.일반화된 명령어입니다.

error: Content is protected !!