모바일에서 claude code로 vibe coding 할 수 있게 세팅하기

·임성혁

지하철을 타고 이동할 때 claude code를 사용하지 못하는 것이 아쉬웠던 와중 claude code를 모바일에서 사용할 수 있게 세팅할 수 있다는 이야기를 듣게되어 직접 세팅 해보게 되었습니다.

시작에 앞서 해당 구성은 macOS, iOS 기준임을 알려드립니다!

시스템 설정 -> 일반 -> 공유 -> 원격 로그인 켜기를 하거나 아니면 터미널에서 아래 명령어를 입력해주시면 됩니다.

sudo systemsetup -setremotelogin on

비밀번호 인증을 끄고 공개키 인증만 허용하는 이유는 매번 iOS에서 SSH로 터미널에 들어갈 때마다 비밀번호를 입력하는 과정이 귀찮기 때문입니다. 이렇게 해도 보안에 치명적인 위험이 생기는건 아니지만 정말 민감하다면 활성화하고 사용하셔도 됩니다.

/etc/ssh/sshd_config에 아래 설정 확인 후 재시작:

PubkeyAuthentication yes
PasswordAuthentication no

Finder에서 Macintosh HD를 누르고 command + shift + '.'을 누르면 숨겨진 폴더인 etc를 볼 수 있습니다.

하지만 sshd_config에서 파일을 수정하려고하면 쓰기 권한이 없다는 메시지가 뜨게됩니다.

따라서 터미널에서 sudo 권한으로 파일을 수정해야합니다.

터미널 홈에서 cd /etc/ssh로 이동해줍니다.

cd /etc/ssh
sudo vim sshd_config

vim이 설치가 안되어있다면 brew로 vim을 설치하시고.. brew가 설치가 안되어있다면 brew를 설치하시고.. 사실 nano로 해도 되고..

파일 수정할 때는 # 주석을 지우고 값을 위와 동일하게 맞춰주세요.

i를 눌러서 입력을하고 esc를 누른다음 :wq 로 저장 및 종료를 하시면 됩니다.

cat sshd_config

를 통해 잘 수정했는지 확인해볼 수 있습니다.

설정을 변경했으니 macOS에서 SSH 데몬(ssh server)을 다시 시작해줍니다.

sudo launchctl kickstart -k system/com.openssh.sshd

macOS과 iOS에서 각각 tailescale을 다운로드해줍니다.

macOS는 App Store와 사이트 모두 다운로드할 수 있고 iOS는 App Store에 가서 다운로드해주면 됩니다.

프로그램에서 안내하는대로 권한을 다 허용해줍니다.

tailescale에 처음 가입하면 기본적으로 MagicDNS 옵션이 켜져있는데, 로그인 후 macOS로 등록한 기기를 눌러 TAILSCALE ADDRESSES 중에서 MagicDNS(~ts.net 형태)를 복사해줍니다. 추후에 termius 설정하면서 사용할 겁니다.

  1. iOS App Store에서 Termius를 가입하고 로그인해줍니다.

  2. 로그인했다면 Vaults -> Keychain -> 우측 상단 + 버튼 -> Generate Key로 들어가줍니다.

  3. 기본적으로 Type이 ED25519로 설정되어있을겁니다. 그대로 우측 상단에 Save 눌러서 생성해줍니다.

  4. 다시 Vaults -> Keychain에 들어가면 SSH Keys에 방금 생성한 key가 보일 겁니다. 눌러줍니다.

  5. Export To라고 뜰건데 우측상단 공유 아이콘을 눌러줍니다.

  6. Copy Public Key 누르면 public key가 복사됩니다.

  7. Vaults -> Keychain -> 우측 상단 + 버튼 -> New Identity로 들어가줍니다.

  8. Name에는 식별가능한 적당한 이름을 집어넣습니다.

    Username에 macOS user 이름을 입력합니다.

    (터미널에서 pwd라고 입력하면 /Users/abc 이런식으로 나올건데 abc가 user 이름)

    Password는 비워놓고 저장합니다.

  1. 해당 public key를 macOS에서 등록해주기 위해 mac terminal에서
cd .ssh

로 .ssh 폴더에 들어가줍니다.

  1. 아래 명령어로 파일을 생성하고 복사한 public key를 붙여넣어줍니다.
vim authorized_keys
  1. control + X를 누르고 Y를 눌러서 저장 후 빠져나옵니다.

  2. ssh 연결에서 permission denied가 뜨지 않도록 권한을 변경해줍니다.

chmod 600 authorized_keys

  1. Connections -> Add a host 를 누릅니다.

  2. Label에 식별가능한 적당한 이름을 집어넣습니다.

IP or Hostname 에 아까 복사한 MagicDNS 주소를 붙여넣습니다.

  1. Username을 누르고 아까 생성한 Identity를 선택해줍니다.
  2. 우측 상단에 Save 눌러서 생성해줍니다.

brew install tmux

brew로 tmux를 설치해줍니다.

터미널 홈에서 아래 이름의 파일을 생성해줍니다.

vim .tmux.conf
# 마우스 사용 활성화 (창 전환, 창 크기 조절, 스크롤 등 가능)
set -g mouse on

# 히스토리 버퍼 크기를 50000줄로 확대 (스크롤백에서 과거 로그 많이 보기)
set -g history-limit 50000

# 키 입력 시 이스케이프 시퀀스 대기 시간을 0으로 (반응 속도 향상)
set -g escape-time 0

# 복사 모드 등에서 vi 스타일 키 사용
setw -g mode-keys vi

# Prefix 키를 Default(C-b)에서 C-a로 변경 (iOS에서 Ctrl 조작 편의)
set -g prefix C-a 
unbind C-b                # 기존 C-b 해제
bind C-a send-prefix      # C-a로 접두어 명령 실행

# 기본 창 분할 단축키 해제
unbind '"'  # 세로 분할 기본 단축키 해제
unbind %    # 가로 분할 기본 단축키 해제

# 단순화된 창 분할 단축키 바인딩
bind - split-window -v    # '-' 키로 세로 분할
bind | split-window -h    # '|' 키로 가로 분할

#한국어 언어 세팅 설정
set-environment -g LANG ko_KR.UTF-8
set-environment -g LC_ALL ko_KR.UTF-8
set-environment -g LC_CTYPE ko_KR.UTF-8

아래 내용 복붙해서 저장해줍니다.

설정을 바꾼 후에는

tmux kill-server

를 실행해서 이후 새로운 세션으로 시작될 수 있도록 해줍니다.

~/.zshrc 또는 ~/.bashrc 에 (본인이 쓰는 terminal 설정 파일)에 아래 내용을 추가합니다. (매번 긴 명령어를 치지 않기 위함)

alias tmain='tmux attach -t main || tmux new -s main'
alias tkill='tmux kill-server'

이제 tmain을 입력하면 tmux attach -t main || tmux new -s main이,

tkill을 입력하면 tmux kill-server이 실행됩니다.

  1. iOS, macOS에서 tailscale을 모두 켜줍니다.

  2. iOS termius로 설정해둔 host에 접속합니다.

  3. tmain을 입력합니다.

  4. 터미널을 사용해 claude code를 마음껏 즐깁니다~

처음에 tmux로 claude code에 접속하면 로그인 절차를 거처야하므로 처음 1회는 iOS말고 macOS에서 터미널에서 tmux로 먼저 시도하세요.

macOS의 터미널 언어 설정이 ko_KR.UTF-8 일 경우 termius의 기본설정이 UTF-8이어서 한글이 깨져보입니다.

export LC_CTYPE="ko_KR.UTF-8"

도 적용해보았지만 ???에서 ---으로 바뀌어보일 뿐 한글이 제대로 보이지 않습니다.

한국어로 입력은 가능하지만 응답이 모두 깨져보이므로 영어 사용하셔야 합니다.

이참에 영어 공부를 좀 하는걸로.. 오히려 좋아