Computer >> 컴퓨터 >  >> 소프트웨어 >> 소프트웨어

SSH로 VNC 터널링하는 방법: 안전한 원격 데스크톱 연결 완벽 가이드

VNC(Virtual Network Computing) 프로토콜을 사용해 원격 데스크톱에 접속할 때, 연결이 안전하지 않을 수 있습니다. 널리 쓰이는 TightVNC 같은 일부 VNC 클라이언트는 초기 로그인 단계 이후에는 연결을 암호화하지 않습니다. 이 문제를 해결하려면 VNC 연결을 SSH(Secure Shell) 터널을 통해 전달하는 방법을 사용하면 됩니다.

SSH 터널은 VNC 연결에 완전히 암호화된 보안 연결을 제공할 뿐만 아니라, 일반적인 VNC 포트(5901번)가 차단된 환경에서도 VNC를 사용할 수 있게 해줍니다. 일부 기업 네트워크는 보안 강화를 위해 5901 포트를 차단하기도 하는데, SSH를 통한 터널링으로 이 문제를 손쉽게 우회할 수 있습니다.

PuTTY 설정 방법

Windows 10에는 PowerShell 덕분에 기본 SSH 클라이언트가 내장되어 있지만, 이는 비교적 최근의 변화입니다. VNC를 SSH로 터널링하려면 PuTTY를 사용해 SSH 서버에 접속하는 것을 추천합니다.

PuTTY는 그래픽 사용자 인터페이스(GUI)를 제공해 손쉽게 설정할 수 있으며, VNC 뷰어 같은 다른 프로그램의 트래픽도 터널링할 수 있습니다. 이를 위해서는 원격 데스크톱 PC나 서버에 적절한 SSH 서버가 먼저 설치되어 있어야 합니다.

  • 먼저 PuTTY를 다운로드하여 실행합니다.
  • Session 메뉴에서 서버 IP 주소 또는 호스트명을 입력합니다. Host Name (or IP address) 입력란에 SSH 서버 주소를 입력하고, SSH 포트가 기본값인 22번과 다르다면 Port 칸에 해당 포트 번호를 입력합니다.
  • 세션을 저장해 두면 다음부터 편리하게 재사용할 수 있습니다. Saved Sessions 입력란에 적절한 이름을 지정한 뒤 Save 버튼을 클릭하세요.
  • 왼쪽 메뉴에서 Connection 탭을 확장하고, 그 아래 SSH 항목도 확장한 후 Tunnels를 클릭합니다.
  • Tunnels 메뉴의 Port forwarding 섹션에서 PuTTY가 VNC 연결을 SSH로 터널링할 수 있도록 정보를 입력합니다. Source port 입력란에는 5901을, Destination 입력란에는 원격 IP 주소:5901 형식으로 입력합니다. 예를 들어 192.168.1.100:5901처럼 입력하면 됩니다.
  • Session 섹션으로 돌아가 저장된 세션 이름을 선택한 후 Save 버튼을 클릭해 설정을 저장합니다.
  • 모든 설정이 완료되면 하단의 Open 버튼을 클릭해 SSH 연결을 시작합니다. 연결 과정에서 SSH 사용자 이름과 비밀번호를 입력하라는 메시지가 표시됩니다.
  • 로그인이 완료되면 원격 데스크톱의 SSH 터미널 창에 접근할 수 있습니다.

원격 데스크톱 서버까지의 SSH 터널이 활성화되면 이제 VNC 연결을 시도할 수 있습니다. 어떤 VNC 클라이언트든 사용 가능하지만, 이 가이드에서는 Windows와 Linux에서 무료로 사용할 수 있는 인기 클라이언트인 TightVNC를 기준으로 연결 방법을 설명합니다.

연결이 유지되는 동안 PuTTY 창은 최소화해 두어도 괜찮습니다.

TightVNC로 연결하기

SSH 연결이 활성화되어 있다면 TightVNC로 연결하는 것은 매우 간단합니다. 원격 PC나 서버에서 VNC 서버가 실행 중이라고 가정합니다.

  • TightVNC를 실행하고 Connection 섹션의 Remote Host 입력란에 localhost::5901 또는 127.0.0.1::5901을 입력합니다. PuTTY가 이 포트를 감시하고 있다가 연결 요청이 발생하면 자동으로 원격 서버로 전달합니다.
  • Options 버튼을 눌러 VNC 연결을 더 세부적으로 구성할 수도 있으며, 바로 연결하려면 Connect 버튼을 클릭합니다.
  • VNC 서버 비밀번호를 묻는 VNC Authentication 팝업창이 나타나면 비밀번호를 입력하고 OK를 클릭합니다.

SSH 연결이 정상적으로 작동하고 있다면, TightVNC가 원격 VNC 데스크톱 창을 불러와 바로 사용할 수 있는 상태가 됩니다.

터널링을 지원하는 SSH 클라이언트

TightVNC는 Windows용 인기 VNC 클라이언트지만, 자체적으로 SSH 터널링을 지원하지 않기 때문에 PuTTY를 함께 사용해야 한다는 번거로움이 있습니다.

반면 일부 VNC 클라이언트는 자체적으로 SSH 터널링 기능을 내장하고 있습니다. 대표적인 예가 SSVNC로, 다소 기본적인 프로그램이지만 VNC 연결을 시도하기 전에 먼저 SSH 터널을 구성합니다. SSVNC는 Windows와 Linux 운영체제를 모두 지원합니다.

  • SSVNC 클라이언트를 실행하고 메인 창에서 필요한 정보를 입력합니다. VNC Host:Display 항목에 SSH사용자이름@원격IP주소:1 형식으로 입력합니다. SSH사용자이름에는 SSH 접속에 사용할 계정명을, 원격IP주소에는 원격 데스크톱의 IP 주소를 넣습니다. 예를 들어 root@192.168.1.100:1과 같습니다.
  • 연결하기 전에 반드시 Use SSH 또는 SSL+SSL 옵션이 선택되어 있는지 확인한 후 Connect 버튼을 클릭합니다.
  • 팝업 터미널 창에 SSH 비밀번호를 요구하면 비밀번호를 입력하고 키보드의 Enter 키를 누릅니다.

SSH 터널이 활성화되면 VNC 연결이 시작되고, VNC 클라이언트 창이 열려 곧바로 원격 데스크톱을 사용할 수 있습니다.

VNC 연결은 기본적으로 암호화되지 않지만, Microsoft의 RDP(Remote Desktop Protocol)는 암호화를 지원합니다. Windows 환경에서 원격 Windows PC나 서버에 접속하려는 경우라면, 별도의 터널링 없이 원격 데스크톱 연결(Remote Desktop Connection) 도구를 사용하는 것이 더 간편하고 안전한 선택이 될 수 있습니다.