SSH 터널링으로 원격지와 안전하게 연결하기
SSH 터널링 SSH 터널링이란? SSH 터널링이란 SSH의 보안 연결 기능을 이용하여 네트워크 통신을 암호화된 채널로 전달하여 통신하는 기법이다. 이를 통하여 일반적으로는 접근할 수 없는 원격 서버나 내부망 내 서비스에 안전하게 접근할 수 있다. 언제 사용하나? 폐쇄망에 있는 서비스에 접속할 때 사용한다. 특히 데이터베이스 등 인가되지 않은 외부인이 접속하는 것을 차단하되 접근이 허락된 사용자가 접근하는 것을 허용하는 경우에 사용한다. 가상사설망과의 차이는? 가상사설망(VPN)은 일반적으로 기기 전체의 모든 인터넷 트래픽을 암호화하고 가상 네트워크에 연결하는 기술이다. 그러나 SSH 터널링은 가상사설망과 달리 특정 포트 주소로의 트래픽만 우회 및 암호화하는 기술이다. 전체 트래픽이 암호화되지 않기에 속도가 빠를 수 있다. SSH 터널링 종류 SSH 터널링에는 세 종류가 있다. 로컬 포트 포워딩(Local Port Forwarding) 원격 포트 포워딩(Remote Port Forwarding) 동적 포트 포워딩(Dynamic Port Forwarding) 로컬 포트 포워딩(Local Port Forwarding) 가장 자주 사용하는 기법이다. 로컬에서 지정한 포트를 통해 원격 서버의 특정 포트에 접속할 수 있다. ssh -L [로컬포트]:[원격서버IP]:[원격서버포트] [사용자명@SSH서버주소] -p [SSH서버포트] 예시 ssh -L 8080:192.168.0.3:80 user@example.com -p 22 192.168.0.3 은 사설 네트워크이다. 그러므로 외부에서는 접속할 수 없다. 다만 example.com 은 외부에서 접속 가능한 서버이다. example.com 에서는 192.168.0.3 으로 접속 가능하다. 그래서 우선 example.com 에 SSH 접속을 한 다음, 192.168.0.3:80 으로 연결하는 통로를 연다. 해당 연결된 통로를 로컬포트(8080)에 바인딩시킨다. 로컬포트(8080)로 연결하게 되면 example.com 을 거쳐...