Claude CodeSSHtmuxTailscale모바일 개발

스마트폰으로 Claude Code 쓰는 법 — 출퇴근 지하철에서 한국어로 지시하기

PC 앞에 앉을 수 있는 시간은 하루에 생각보다 짧습니다. 출퇴근, 점심시간, 아이를 재운 뒤. 그런데 Claude Code에 시키고 싶은 일은 그 시간에도 계속 떠오릅니다.

이 글은 집 PC(또는 VPS)에서 돌아가는 Claude Code를 스마트폰에서 그대로 조작하는 방법을 정리한 것입니다. 저는 일본에서 이 방식으로 통근 전철 안에서 Claude Code에 작업을 맡기고 있고, 회사에 도착할 즈음 테스트가 끝나 있는 날이 많습니다.

전체 구조는 이렇습니다.

스마트폰 (SSH 앱)
   │  Tailscale (어디서든 집 PC에 안전하게 연결)
   ▼
집 PC / VPS
   └─ tmux 세션 ── Claude Code

준비물은 세 가지입니다.

  • Claude Code가 설치된 PC 또는 VPS (macOS / Linux / Windows의 WSL)
  • 스마트폰용 SSH 앱
  • (밖에서 접속하려면) Tailscale 계정 — 개인 사용은 무료

STEP 1. PC에서 SSH 서버 켜기

먼저 스마트폰이 PC에 SSH로 들어올 수 있어야 합니다.

macOS: 시스템 설정 → 일반 → 공유 → 원격 로그인을 켭니다.

Linux (Ubuntu 등):

sudo apt install openssh-server
sudo systemctl enable --now ssh

Windows: WSL 안에 Ubuntu를 설치하고 위의 Linux 절차를 따르는 것이 가장 간단합니다. Claude Code도 WSL 안에서 실행합니다.

같은 Wi-Fi 안에서 ssh 사용자명@PC의IP로 접속되는지 먼저 확인해 두면 이후 단계에서 문제를 좁히기 쉽습니다.

STEP 2. tmux 안에서 Claude Code 실행하기

이 단계가 가장 중요합니다. 모바일 연결은 반드시 끊깁니다. 지하철이 터널에 들어가거나, 앱을 잠깐 백그라운드로 보내거나, 화면이 꺼지는 순간에요.

SSH에서 Claude Code를 바로 실행하면 연결이 끊기는 순간 Claude Code도 함께 종료됩니다. tmux 안에서 실행하면 연결이 끊겨도 서버에서 계속 돌아갑니다.

# tmux 설치 (macOS는 brew install tmux)
sudo apt install tmux

# 이름을 붙여 세션 시작
tmux new -s claude

# 세션 안에서 프로젝트로 이동해 Claude Code 실행
cd ~/projects/my-app
claude

연결이 끊긴 뒤 다시 들어왔을 때는 이 한 줄이면 됩니다.

tmux attach -t claude

매번 치기 귀찮다면 SSH 앱의 접속 후 자동 실행 명령(앱에 따라 “초기 명령어”, “Startup command” 등으로 불립니다)에 tmux attach -t claude || tmux new -s claude를 넣어 두세요. 접속하자마자 작업하던 화면으로 돌아갑니다.

STEP 3. Tailscale로 밖에서도 접속하기

집 Wi-Fi 밖에서 집 PC에 접속하려면 보통 포트 포워딩이 필요하지만, SSH 포트를 인터넷에 여는 것은 권하지 않습니다. 대신 Tailscale을 쓰면 공유기 설정 없이 내 기기끼리만 연결되는 사설 네트워크를 만들 수 있습니다.

  1. PC에 Tailscale을 설치하고 로그인
  2. 스마트폰에도 Tailscale 앱을 설치하고 같은 계정으로 로그인
  3. Tailscale 앱에 표시되는 PC의 주소(100.x.x.x 또는 머신 이름)를 SSH 접속 주소로 사용

Tailscale 공식 다운로드

LTE·5G에서도 집 Wi-Fi에 있을 때와 똑같이 접속됩니다.

STEP 4. 스마트폰에서 접속하고 한국어로 지시하기

SSH 앱에서 접속 정보를 저장합니다.

  • 호스트: Tailscale의 PC 주소
  • 사용자: PC의 사용자명
  • 인증: 비밀번호보다 SSH 키를 권장합니다. 앱에서 키를 만들고, 공개키를 PC의 ~/.ssh/authorized_keys에 추가합니다

접속한 뒤 tmux attach -t claude로 들어가면 PC에서 보던 Claude Code 화면이 그대로 나옵니다.

여기서 한국어 사용자에게만 생기는 벽이 하나 있습니다. 터미널에 한글을 직접 치면 자모가 분리되거나 글자가 사라지는 경우가 많다는 것입니다. 한글 조합(미확정 상태)을 터미널이 제대로 다루지 못해서 생기는 문제인데, 원인과 대처법은 따로 정리해 두었습니다.

→ SSH 한글 입력이 깨지는 이유와 해결법

짧게 말하면, 한글은 입력창에서 완성한 뒤 터미널로 보내는 방식을 쓰면 됩니다. 메모 앱에서 써서 붙여넣어도 되고, 입력창 방식을 내장한 SSH 앱을 써도 됩니다.

모바일에서 Claude Code에 지시하는 요령

스마트폰의 작은 화면에서는 PC와 같은 방식으로 일하면 금방 지칩니다. 몇 달 동안 써 보면서 정착한 요령입니다.

한 번에 끝나는 크기로 맡긴다. “로그인 화면 전체를 리팩터링해 줘”보다 “로그인 폼의 유효성 검사를 zod로 바꾸고 테스트를 추가해 줘”처럼 결과를 확인하기 쉬운 단위로 나눕니다. 화면이 작으니 결과 검토도 짧아야 합니다.

확인 조건을 지시에 넣는다. “끝나면 npm test를 돌려서 전부 통과하는지 확인해 줘”라고 덧붙이면, 다시 접속했을 때 결과만 보면 됩니다.

긴 diff는 폰에서 읽지 않는다. 폰에서는 방향만 정하고, 세부 리뷰는 PC 앞에 앉았을 때 합니다. 이동 중에는 “무엇을 할지”를 정하는 데 집중하는 편이 효율적입니다.

권한 확인이 뜨는 작업은 앞에 둔다. 파일 쓰기나 명령 실행 승인을 요구하는 작업은 접속해 있는 동안 시작하고, 오래 걸리는 작업은 내리기 직전에 맡깁니다.

정리

  • Claude Code는 PC(또는 VPS)의 tmux 세션 안에서 실행한다 → 연결이 끊겨도 작업이 계속된다
  • Tailscale로 포트를 열지 않고 밖에서 접속한다
  • 한국어 지시는 입력창에서 완성해서 보낸다 → 한글 깨짐을 피한다

이 세 가지만 갖추면 출퇴근 시간이 그대로 개발 시간이 됩니다.

참고로 저는 이 흐름을 편하게 만들기 위해 모바일 SSH 앱 SSH Term을 직접 만들고 있습니다. 한글 IME 모드, 백그라운드 연결 유지, 재연결 시 tmux attach 자동 실행을 넣었지만, 위의 방법은 Termius 같은 다른 SSH 앱에서도 똑같이 쓸 수 있습니다.