MAC 에서는 기본적으로 VNC를 이용한 리모트 데스크탑 연결 환경을 지원한다.
설정 화면에서 아래 그림과 같이 설정하면 되는데
기본적으로 VNC를 사용하기위한 TCP Port는 5900 을 사용하게되는데
외부 접속을 위한 환경 설정으로 외부 공격을 차단하기 위해 임의의 번호로 변경할 필요가 있다. 혹은 다른 이유에서도 임의 번호로 변경하고 싶은경우 아래와 같은 작업을 단계적으로 진행하면 된다.
먼저 VNC 화면 공유 기능을 활성화 한다. 설정 환의 공유를 클릭하고 아래와 같이 선택한다.
1. 기존의 VNC 서비스 동료 및 등록해제
아래와 같이 터미널 창에서 입력하고 실행한다.
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.screensharing.plist
2. VNC 서비스 데몬을 로컬 환경으로 복사한다.
아래와 같이 터미널 창에서 입력하고 실행한다.
sudo cp /System/Library/LaunchDaemons/com.apple.screensharing.plist /Library/LaunchDaemons/com.apple.screensharing.plist
3. 로컬 환경에서 텍스트 에디터로 포트를 변경한다.
아래와 같이 터미널 창에서 입력하고 실행한다.
sudo nano /Library/LaunchDaemons/com.apple.screensharing.plist
아래와 같이 SockServiceName키 값을 원하는 숫자 (여기는 5905) 변경한다.
<key>Sockets</key>
<dict>
<key>Listener</key>
<dict>
<key>SockNodeName</key>
<string>localhost</string>
<key>SockServiceName</key>
<string>5905</string>
</dict>
</dict>
4. 로컬 환경에서 텍스트 에디터로 데몬 파일을 생성한다.
아래와 같이 터미널 창에서 입력하고 실행한다.
sudo touch /Library/LaunchDaemons/com.apple.screensharing.launcher.plist
sudo nano /Library/LaunchDaemons/com.apple.screensharing.launcher.plist
텍스트 에디터에서 아래 내용을 복사하고 붙여 넣는다.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.apple.screensharing.launcher</string>
<key>LaunchOnlyOnce</key>
<true/>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<false/>
<key>ProgramArguments</key>
<array>
<string>/bin/launchctl</string>
<string>load</string>
<string>-F</string>
<string>/Library/LaunchDaemons/com.apple.screensharing.plist</string>
</array>
</dict>
</plist>
5. 로컬 환경의 VNC 데몬을 실행한다.
아래와 같이 터미널 창에서 입력하고 실행한다.
sudo launchctl load -w /Library/LaunchDaemons/com.apple.screensharing.launcher.plist
6. 변경된 포트 확인하기.
아래와 같이 터미널 창에서 입력하고 실행한다.
sudo lsof -PiTCP -sTCP:LISTEN launchd 1 root 33u IPv6 0x2b6dc85f016c3177 0t0 TCP *:5905 (LISTEN) launchd 1 root 46u IPv4 0x2b6dc863cf20042f 0t0 TCP *:5905 (LISTEN) launchd 1 root 47u IPv6 0x2b6dc85f016c3177 0t0 TCP *:5905 (LISTEN) launchd 1 root 48u IPv4 0x2b6dc863cf20042f 0t0 TCP *:5905 (LISTEN)