[2편] 집에 있는 맥을 밖에서 이어받기 - Tailscale + SSH + tmux

이온디 2026.09.28 14 0

1편에서 tmux를 다뤘습니다. 이번에는 그걸 실제로 써서, 집에 있는 데스크탑에서 하던 작업을 밖에서 노트북으로 이어받는 구성을 만들어 보겠습니다.

제 상황은 이렇습니다. 곧 Mac Studio가 들어오는데, 거기서 작업하다가 그 상태를 그대로 놔둔 채 외출해서 맥북으로 이어서 하고 싶습니다. 부수적으로, 데스크탑에 설치한 개발 도구와 설정을 노트북에서 그대로 쓰고 싶습니다.

먼저 정리할 것: 화면 미러링은 마지막 수단입니다

보통 이런 얘기를 하면 원격 데스크탑부터 떠올립니다. 그런데 목적이 "작업 상태를 이어받는 것"이지 "화면을 보는 것"이 아니라면, 화면을 통째로 영상으로 보내는 건 낭비입니다.

SSH + tmux화면 공유
대역폭수십 KB/s수십 Mbps
지연 체감거의 없음그대로
노트북 사양무관디코딩 부담
연결이 끊기면작업은 계속 진행재접속 필요
GUI 앱 상태못 봄그대로

그래서 터미널 작업은 SSH와 tmux로, GUI 앱이 꼭 필요할 때만 화면 공유로 나누는 게 맞습니다.

구조

[ 밖 - 노트북 ]                      [ 집 - 데스크탑 ]

 Tailscale  <--- WireGuard --->  Tailscale
     |          (NAT 통과)            |
 ssh desktop  ----------------->  sshd
     |                                |
 tmux attach -t main  ---------->  tmux 세션 "main"
                                   (작업이 계속 돌고 있음)

1단계. 외부에서 집으로 들어가기 - Tailscale

집 공유기 안쪽에 있는 데스크탑에 밖에서 붙으려면 NAT를 넘어야 합니다. 전통적인 방법은 공유기에서 포트포워딩을 여는 건데, 공인 IP에 포트를 노출하는 일이라 권하지 않습니다. 스캔 봇이 하루에도 수백 번 두드립니다.

Tailscale은 WireGuard 기반 메시 VPN입니다. 양쪽에 설치하고 같은 계정으로 로그인하면 끝입니다.

  • 공유기 설정 불필요, 외부에 열리는 포트 없음
  • 기기마다 고정 주소(100.x.x.x)와 이름이 붙습니다
  • 개인 용도는 무료 티어로 충분합니다
brew install --cask tailscale     # 양쪽 모두
tailscale status                  # 기기 목록 확인

이후로는 ssh desktop처럼 이름으로 붙을 수 있습니다. 집이든 카페든 LTE든 똑같습니다.

2단계. 작업을 살려두기 - tmux

핵심은 이겁니다. 데스크탑에서 작업을 시작할 때부터 tmux 안에서 합니다.

# 데스크탑 앞에서
tmux new -s main
(작업 시작)

# 외출. 노트북에서
ssh desktop -t tmux attach -t main

화면이 그대로 이어집니다. 실행 중이던 작업도 계속 돌고 있습니다. 회선이 끊겨도 데스크탑에서는 계속 진행되고, 다시 붙으면 됩니다.

덤으로, 데스크탑 앞에서도 같은 세션을 동시에 열 수 있습니다. 양쪽 화면이 미러됩니다. 집에 돌아와서 노트북을 덮고 데스크탑 앞에 앉으면 그 화면이 이미 떠 있습니다.

3단계. GUI가 필요할 때만 화면 공유

Xcode나 디자인 툴처럼 창 상태가 중요한 작업은 어쩔 수 없이 화면이 필요합니다.

데스크탑에서 시스템 설정 - 일반 - 공유 - 화면 공유를 켜고, 노트북에서 Finder - 서버에 연결로 vnc://desktop에 붙습니다.

여기서 알아둘 제약이 있습니다. macOS의 고성능 화면 공유는 양쪽 맥이 모두 Apple Silicon이어야 합니다. Intel 맥은 해당이 없습니다. 제 맥북이 2018년 Intel 모델이라 저는 일반 모드만 씁니다.

참고로 고성능 모드의 요구사항은 4K 단일 디스플레이 기준 75Mbps에 낮고 일정한 지연, 유선 권장입니다. 밖에서 쓰는 상황에는 어차피 맞추기 어렵습니다.

중요한 구분: 클라우드 세션은 대체재가 아닙니다

요즘 AI 코딩 도구들이 클라우드에서 세션을 돌려주는 기능을 제공합니다. 그럼 이런 구성 없이 그걸 쓰면 되지 않나 싶은데, 다릅니다.

어디서 실행내 데스크탑 파일집 LAN (NAS 등)설치한 도구, 설정
클라우드 세션업체 서버없음없음없음
SSH + tmux내 데스크탑있음있음있음

클라우드 세션은 저장소를 클라우드 샌드박스에 체크아웃해 돌리는 구조입니다. 내 데스크탑 자원을 꺼내 쓰는 게 아니라 다른 기계를 빌리는 겁니다. 로컬 파일도, 집 NAS도, 내가 설치한 설정도 못 씁니다.

둘은 용도가 다릅니다. 로컬 자원이 필요 없는 작업은 클라우드로 떠넘기고, 내 환경이 필요한 작업은 SSH로 붙습니다.

데스크탑 쪽 준비

항목설정
원격 로그인시스템 설정 - 일반 - 공유 - 원격 로그인 켜기
화면 공유같은 화면에서 화면 공유 켜기
잠자기 방지에너지 설정에서 디스플레이만 끄고 시스템은 깨어 있게
네트워크 깨우기Wake for network access 켜기
로그인 세션재부팅 후 화면 공유가 되려면 로그인된 상태여야 합니다. FileVault를 쓰면 부팅 후 한 번은 직접 잠금 해제해야 합니다

작업 중 잠드는 게 걱정되면 tmux 세션 안에서 caffeinate -dims를 돌려두면 됩니다.

보안

  • Tailscale은 외부에 포트를 열지 않습니다. 포트포워딩 대비 공격면이 훨씬 작습니다
  • SSH는 키 인증만 쓰고 비밀번호 인증은 끕니다
  • 화면 공유는 Tailscale 망 안에서만 접근하게 두고, 공유기에서 5900을 열지 않습니다
  • Tailscale 계정에 2단계 인증을 겁니다

정리

  • 목적이 "작업을 이어받는 것"이면 화면 미러링은 마지막 수단입니다
  • Tailscale로 NAT를 넘고, SSH로 붙고, tmux로 작업을 살려둡니다
  • 포트포워딩은 하지 마세요
  • 고성능 화면 공유는 양쪽 다 Apple Silicon이어야 합니다
  • 클라우드 세션은 내 기계 자원을 쓰는 게 아닙니다. 용도가 다릅니다

다음 글에서는 요즘 나온 에이전트 도구 Orca와 tmux를 비교해 보겠습니다. 비슷해 보이는데 실행 위치가 정반대라 결론이 갈립니다.

댓글 0

목록 보기
댓글을 작성하려면 로그인하세요.
  • 첫 댓글을 남겨보세요.