SSH 터널링 사용법을 알아보려고 합니다SSH는 Linux 서버 액세스 시 사용하는 프로토콜입니다.TCP22 포토를 사용합니다.
터널링은 보통 직접 접속이 안 될 때 사용합니다.그게 무슨 말이냐면

그림에서 클라이언트는 대상 서버에 접속하려고 하고 있습니다.하지만 보안상 직접 접근하실 수는 없습니다.
그러나 경유 서버에서 대상 서버로 액세스할 수 있으면, 터널링 기능을 사용해서 경유 서버를 경유 서버를 경유해서 대상 서버에 접속할 수 있다는 것입니다.
이때 대상 서버에 접속하려는 프로토콜이 SSH(22/tcp)가 아닌 WEB(80/tcp)여도 상관없습니다.예를 들면, 클라이언트에서 경유 서버나 대상 서버로의 SSH로의 직접 접속은 가능하지만, 대상 서버로의 WEB 직접 접속을 할 수 없는 경우가 있습니다.(대상 서버에서 80 포트로의 액세스를 자신의 네트워크에서만 허가하는 경우)
이때 경유 서버에 SSH 터널링 기능을 이용하면 마치 클라이언트와 대상 서버 사이에 터널이 생성된 것처럼 직접 액세스할 수 있습니다.
클라이언트가 리눅스인 경우와 클라이언트가 윈도인 경우로 나누어 설명합니다.상기 명령어 후 경유서버 linux에 대한 비밀번호를 입력하면 ssh 로그인이 완료됩니다.그리고 웹 브라우저에서 http://localhost:10000으로 접속을 하면 마치 클라이언트에서 대상 서버로 웹 프로토콜을 통해서 직접 접속을 한 것처럼 웹 화면이 나타납니다.Linux는 당연히 ssh 명령어를 사용하는데, Windows10에서도 cmd창을 열고 ssh 명령어를 사용할 수가 있습니다.동일한 역할을 수행하는 명령어입니다.단, ssh 옵션 값만 약간 다릅니다.만약 대상 서버가 한 대가 아니고 여러 대라면 L옵션을 주고 추가할 대상 서버 IP를 입력하면 되겠습니다.위의 명령어를 입력한 후 linux비밀번호를 입력하면 10.10.22의 80포트는 클라이언트에서 local host:10001에 연결 가능하고 10.10.23의 80포트는 클라이언트에서 local host:10002에 연결됩니다.일반화시킨 명령어입니다.
