Ubuntu에서는 기본적으로 Desktop Sharing을 제공해 원격에서 Desktop을 조정할 수 있다.

panel에서 Desktop Sharing으로 검색하면 바로 나오는 것을 볼 수 있다.



Desktop Sharing을 선택하고 맞는 설정을 해주면 된다.

그런데 설정을 해두고 tigervnc의 vncviewer에서 접속하면 다음과 같은 메시지가 뜨는 것을 볼 수 있다.

아마 우분투 쪽에서 암호화쪽 구현을 잘못 한 것 같다. 이를 해결하려면 암호화를 풀어야 한다. 먼저 dconf-tools를 설치한다.

sudo apt-get install dconf-tools

이후 다음 명령어를 입력하거나 혹은 GUI로 encryption 기능을 해제한다. 둘 중에 하나만 선택해서 하면 된다. 먼저 명령어로 해제하려면

dconf write /org/gnome/desktop/remote-access/require-encryption false

를 입력하고, 혹은 GUI로 해제하려면 panel에서 dconf Editor > org > gnome > desktop > remote-access > require-encryption에 체크를 해제하면 된다.


하지만 이럴 경우 화면 전송이 암호화가 되질 않는다. 이를 ssh tunneling을 이용해 암호화된 채널을 만들어보자.

내 PC에서 ubuntu desktop을 접속한다고 할 때 내 PC와 ubuntu desktop에 모두 ssh가 설치되어 있어야 한다.

PC가 윈도우일 경우 git bash나 MinGW, xShell 등을 사용하면 된다. git bash 등을 열어 다음 명령어를 PC에서 실행한다.

ssh [ID]@[IP주소] -L 9000:localhost:5900

이 의미는 내 PC의 9000번 포트를 ubuntu 기준에서의 localhost(즉 ubuntu 자신)의 5900 포트로 tunnel을 생성하라는 의미이다.

그런 다음 vnc에서 localhost:9000으로 접속하면 잘 되는 것을 확인할 수 있다.


추가로 xShell에서 ssh tunneling을 하는 방법은 다음과 같다. 새 세션을 하나 만들고, 등록 정보에서 연결 > SSH > 터널링 화면에서 추가를 누른 뒤 포워딩 규칙에 다음과 같이 입력한다.

그런 다음 접속한 뒤 보기 > 터널링 창 > 포워딩 규칙을 보면 localhost:9000 -> localhost:5900으로 터널이 생성된 것을 알 수 있다.


+ Recent posts