Claude Code 원격 맥 배포: 2026 SSH 안내

2026년 8월 17일 기준으로 확인한 Claude Code 공식 인증 문서, 권한 문서, 샌드박스 문서, 애플의 원격 로그인 안내를 바탕으로 작성했습니다.
Claude Code 원격 맥 배포의 결론
Claude Code 원격 맥 배포의 승자는 실제 macOS 도구 체인이 필요한 프로젝트입니다. 프로젝트가 Xcode, Simulator, Keychain, xcodebuild 같은 macOS 전용 기능을 호출한다면 독립된 원격 맥 개발 노드에 배포하는 편이 맞습니다. 반대로 일반적인 웹 서버, 파이썬, 고 언어, 리눅스 컨테이너 작업이라면 기존 Windows나 Linux 환경을 유지하는 편이 비용과 관리 부담이 적습니다.
핵심은 SSH 로그인 뒤 곧바로 Claude Code를 실행하는 것이 아닙니다. 먼저 독립 계정과 키 인증을 만들고, 프로젝트별 권한과 샌드박스, 인증 정보의 저장 위치, 연결 복구 방법을 정해야 합니다.
이 글은 다음 독자를 위한 안내입니다.
- Windows 또는 Linux에서 macOS 전용 프로젝트를 다루는 개발자
- AI 코딩 작업을 주력 맥과 분리하려는 모바일 개발자
- 팀에 재현 가능하고 회수 가능한 원격 Claude Code 노드를 제공하려는 플랫폼 엔지니어
배포 전 프로젝트 판별
원격 맥이 필요한 경우
다음 항목이 프로젝트 의존성 파일이나 빌드 스크립트에 실제로 등장한다면 원격 맥을 배포할 근거가 있습니다.
- Xcode 프로젝트와
xcodebuild - iOS Simulator 또는 실제 기기용 서명 작업
- macOS Keychain에 저장된 인증서와 개발 자격 증명
- macOS 전용 프레임워크
- 애플 플랫폼용 테스트와 패키징
- 맥에서만 실행되는 배포 도구
Apple은 Xcode에 clang, xcodebuild, xcrun 같은 명령 줄 도구가 포함된다고 설명합니다. 다만 xcodebuild와 xctrace는 전체 Xcode 설치가 필요한 명령입니다. 명령 줄 도구만 설치한 맥에서 모든 Xcode 자동화가 된다고 가정하면 배포 단계에서 막힙니다. Apple의 Xcode 명령 줄 도구 안내를 기준으로 필요한 구성 요소를 먼저 확인해야 합니다.
반대로 프로젝트가 리눅스에서 이미 테스트되고, macOS 전용 명령을 호출하지 않는다면 원격 맥은 과한 선택입니다. 이 경우 원격 맥 임대 비용뿐 아니라 계정 관리, SSH 보안, 패치, 장시간 세션 유지까지 추가됩니다.
배포 전 확인 목록
프로젝트 저장소에서 다음 네 가지를 확인합니다.
- 빌드 파일에 macOS 전용 명령이 있는지 확인합니다.
- 인증서, 키체인, 서명 파일이 필요한지 확인합니다.
- 원격 노드에 코드를 안전하게 가져올 방법을 정합니다.
- 개인 로그인과 자동화 인증을 분리할지 결정합니다.
독립 원격 노드에는 별도 macOS 계정, 복구 가능한 코드 저장소, 외부 네트워크 접근, SSH 키 인증이 모두 있어야 합니다. root 계정으로 Claude Code를 실행하는 방식은 권한 경계를 흐리므로 피하는 편이 좋습니다.
SSH 기반 접속 준비
원격 로그인과 계정 분리
macOS에서 시스템 설정의 공유 메뉴로 이동해 Remote Login을 활성화합니다. Apple의 안내에 따르면 Remote Login은 SSH와 SFTP 접속에 사용되며, 허용할 사용자도 지정할 수 있습니다. 모든 계정을 열기보다 Claude Code 작업 전용 계정만 허용해야 합니다.
아래 예시는 모두 가상 계정과 가상 호스트입니다.
ssh-keygen -t ed25519 -f ~/.ssh/remote-mac-claude
ssh-copy-id -i ~/.ssh/remote-mac-claude.pub devagent@mac-node.example
macOS 환경에서 ssh-copy-id가 없다면 공개 키 내용을 원격 계정의 ~/.ssh/authorized_keys에 직접 추가합니다. 권한은 다음처럼 제한합니다.
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
호스트 지문은 첫 로그인 때 무조건 수락하지 말고, 관리자가 전달한 지문과 대조합니다. 이후 로컬 설정 파일에 별칭을 둡니다.
Host claude-mac
HostName mac-node.example
User devagent
IdentityFile ~/.ssh/remote-mac-claude
IdentitiesOnly yes
이제 다음 네 가지를 모두 시험합니다.
ssh claude-mac
sftp claude-mac
ssh claude-mac 'printf "%s\n" "$SHELL"; command -v git; command -v xcodebuild'
ssh claude-mac 'exit'
한 번 접속되는 것만으로는 완료가 아닙니다. 파일 전송, 재접속, 비대화형 셸의 경로 확인까지 통과해야 합니다. SSH 로그인 셸과 Claude Code가 실행하는 셸의 환경이 다르면 로컬 터미널에서는 보이던 xcodebuild가 원격 작업에서는 사라질 수 있습니다.
주의: 비밀번호, 개인 키, API 키, 인증서 내용을 터미널 기록이나 화면 캡처에 남기지 않습니다. 예시 명령에는 실제 주소와 실제 계정을 넣지 말고, 배포 문서에도 비밀값을 직접 기록하지 않는 편이 안전합니다.
Claude Code 설치와 인증
설치 결과 확인
원격 맥에 로그인한 뒤 공식 설치 방식을 사용합니다.
curl -fsSL https://claude.ai/install.sh | bash
공식 빠른 시작 문서는 macOS와 Linux에서 위 설치 방식을 안내하며, Homebrew 설치도 제공합니다. 설치 후 새 셸을 열고 다음 명령으로 실행 파일과 인증 상태를 확인합니다. Claude Code 빠른 시작 문서
claude --version
claude auth status --text
claude
인증 상태는 claude auth status로 확인할 수 있습니다. 실행 중인 대화 안에서는 /status로 버전, 계정, 연결 상태와 현재 인증 방식을 점검할 수 있습니다. Claude Code 명령 줄 참조
SSH에서 브라우저 인증 처리
SSH 세션에서는 원격 맥의 브라우저가 로컬 컴퓨터에 열리지 않거나, 브라우저의 콜백이 원격 셸에 도달하지 않을 수 있습니다. 공식 인증 안내는 이런 경우 로그인 주소를 복사해 다른 컴퓨터의 브라우저에서 열고, 코드 입력 화면이 나오면 코드를 터미널에 붙여 넣도록 설명합니다.
macOS에서는 인증 정보가 암호화된 Keychain에 저장됩니다. 따라서 작업 계정을 삭제하거나 노드를 회수할 때는 계정의 Keychain과 Claude Code 설정 디렉터리를 함께 정리해야 합니다. 로컬 개발자의 개인 로그인과 CI 작업의 인증은 같은 계정에 섞지 않는 편이 좋습니다.
개인 대화형 작업은 계정 로그인으로 처리합니다. 스크립트와 CI는 환경 변수, 키 공급 스크립트 또는 공식 자동화용 토큰 방식을 별도로 검토합니다. ANTHROPIC_API_KEY가 이미 셸 환경에 남아 있으면 구독 로그인보다 해당 키가 우선될 수 있으므로 /status로 실제 사용 방식을 확인합니다.
프로젝트 초기화와 도구 체인
통제된 작업 경로
프로젝트는 홈 디렉터리 전체가 아니라 전용 경로에 가져옵니다.
mkdir -p ~/work/ios-sample
cd ~/work/ios-sample
git clone git@example.invalid:team/sample-app.git .
git config user.name "Remote Developer"
git config user.email "devagent@example.invalid"
실제 저장소 주소와 계정은 예시에 넣지 않습니다. 원격 노드에 복제하기 전에 비밀 파일이 저장소에 포함되지 않았는지 확인합니다.
git status
git ls-files | grep -E '(^|/)(\.env|.*secret.*|.*key.*)$'
command -v git
command -v xcodebuild
xcode-select -p
xcode-select -p가 의도한 Xcode 경로를 가리키는지 확인합니다. 여러 Xcode가 설치된 노드라면 프로젝트가 요구하는 버전을 활성 개발자 디렉터리로 선택해야 합니다.
프로젝트 지침 파일
프로젝트 루트에 CLAUDE.md를 만들고 다음 내용을 명시합니다.
- 수정 가능한 디렉터리
- 실행할 테스트 명령
- 절대 열지 말아야 할 파일
- 인증서와 서명 자산의 위치
- 네트워크 접근이 필요한 명령
- 변경 후 반드시 확인할 명령
작업은 작은 변경으로 시작합니다. 예를 들어 테스트 하나의 오류 메시지를 수정하고, Claude Code가 파일을 읽고, 변경을 만들고, 테스트를 실행한 뒤, 변경 내용을 되돌리는 흐름을 확인합니다. 첫 작업부터 대규모 리팩터링이나 배포 스크립트 수정으로 시작하면 권한 문제와 코드 문제를 구분하기 어렵습니다.
권한과 샌드박스 경계
허용, 확인, 거부 규칙
Claude Code의 권한 규칙은 allow, ask, deny로 나뉩니다. 규칙은 거부, 확인, 허용 순서로 평가되므로 민감한 경로는 거부 규칙을 먼저 둬야 합니다. Claude Code 권한 공식 문서
권장 기준은 다음과 같습니다.
- 허용: 프로젝트 내부의 읽기와 일반 테스트
- 확인: 패키지 설치, 파일 이동, 외부 네트워크 요청
- 거부: SSH 키, Keychain 덤프, 인증서 개인 키, 운영 설정, 배포 자격 증명
bypassPermissions는 원격 개발 노드라고 해서 기본값으로 사용하면 안 됩니다. 프롬프트 조작이나 잘못된 명령에 대한 보호가 약해지기 때문입니다. 팀 환경이라면 관리 설정에서 우회 권한을 차단하는 방향이 안전합니다.
샌드박스 적용
Claude Code의 샌드박스는 Bash 명령과 하위 프로세스의 파일 시스템 및 네트워크 접근을 제한합니다. 권한 규칙만으로는 명령 실행 이후의 접근 범위를 충분히 제한하기 어렵기 때문에 두 계층을 함께 사용해야 합니다. Claude Code 샌드박스 공식 문서
대화 안에서 다음 명령으로 샌드박스 메뉴를 열 수 있습니다.
/sandbox
프로젝트 작업 경로만 쓰기 가능하게 만들고, 필요한 패키지 저장소와 코드 호스팅 도메인만 네트워크 허용 목록에 추가합니다. 샌드박스를 시작하지 못했을 때 경고만 표시하고 계속 실행할지, sandbox.failIfUnavailable을 사용해 실패 처리할지는 보안 요구에 따라 결정합니다. 서명 자산을 다루는 노드라면 샌드박스 실패를 허용하지 않는 편이 낫습니다.
다음 세 가지를 의도적으로 시험합니다.
- 정상적인 의존성 설치가 허용되는지 확인합니다.
- 민감 파일 읽기가 차단되는지 확인합니다.
- 프로젝트 밖의 파일 수정과 허용되지 않은 도메인 접근이 차단되는지 확인합니다.
장시간 세션과 복구
tmux 구성
SSH가 끊기거나 로컬 터미널이 닫히는 환경에서는 tmux 안에서 Claude Code를 실행합니다.
tmux new -s claude-work
cd ~/work/ios-sample
claude
Claude Code 공식 터미널 문서는 tmux에서 줄 바꿈 단축키와 알림 전달이 깨질 수 있다고 설명합니다. 다음 설정을 ~/.tmux.conf에 추가한 뒤 적용합니다. Claude Code 터미널 설정 안내
set -g allow-passthrough on
set -s extended-keys on
set -as terminal-features 'xterm*:extkeys'
tmux source-file ~/.tmux.conf
SSH 연결을 끊은 뒤 다시 접속합니다.
ssh claude-mac
tmux attach -t claude-work
복구 시험에서는 단순히 tmux 화면이 남아 있는지만 보지 않습니다. 현재 작업 경로, Git 상태, Claude Code 대화 상태, 실행 중인 테스트의 종료 상태를 각각 확인해야 합니다.
최종 선택표와 운영 전 점검
| 판단 기준 | 원격 맥 배포 | 기존 Windows 또는 Linux 유지 |
|---|---|---|
| Xcode와 Simulator 필요 | 적합 | 별도 맥 연동 필요 |
| Keychain과 애플 서명 필요 | 적합 | 인증 경계가 복잡해짐 |
| 일반 웹과 서버 개발 | 과한 구성일 수 있음 | 대체로 적합 |
| 장시간 AI 작업 | tmux와 회수 절차 필요 | 현재 환경의 세션 도구 활용 |
| 팀 공용 개발 노드 | 계정과 권한 정책 필요 | 운영 체계에 따라 다름 |
| 물리 기기 연결 | 제공 환경 확인 필요 | 로컬 장비가 더 단순함 |
운영 전에는 다음 순서로 승인합니다.
- SSH 키로만 로그인되는지 확인합니다.
- 허용 계정 외 접근이 차단되는지 확인합니다.
claude --version과claude auth status --text결과를 기록합니다./status에서 의도한 인증 방식이 표시되는지 확인합니다.- Git 사용자와 프로젝트 경로를 확인합니다.
- Xcode 도구가 비대화형 셸에서도 검색되는지 확인합니다.
- 작은 변경, 테스트, 되돌리기를 수행합니다.
- 민감 파일 읽기와 프로젝트 밖 쓰기를 차단합니다.
- SSH 종료 후 tmux 세션에 다시 연결합니다.
- 계정 회수, Keychain 정리, 토큰 폐기 절차를 문서화합니다.
현재 방식이 개인 맥 한 대에 모든 작업을 몰아두는 구조라면, 주력 장비의 사용 중단 위험과 팀 공유의 어려움이 생깁니다. Linux 클라우드 서버만 사용하는 방식도 Xcode, Simulator, Keychain을 직접 제공하지 못합니다. 반대로 원격 맥은 장기 고정 작업이나 물리 기기 연결이 필요한 경우에는 맞지 않을 수 있습니다. 짧은 검증, 팀용 개발 노드, macOS 전용 빌드처럼 사용 기간이 정해진 작업이라면 ProxyMac의 원격 맥 환경을 먼저 시험하고, 요금과 이용 조건을 프로젝트 기간에 맞춰 비교하는 편이 현실적입니다. 접속 과정과 계정 관리는 관리 콘솔 안내에서 확인할 수 있습니다.
자주 묻는 운영 판단
위 FAQ는 원격 맥 배포를 시작하기 전에 실제로 확인해야 할 인증, 권한, 복구와 회수 조건을 기준으로 구성했습니다. 단순 설치 성공보다 안전한 반복 실행이 중요한 이유는 Claude Code가 파일을 읽고 명령을 실행하며 프로젝트를 수정하는 작업 흐름을 갖기 때문입니다.
장기 운영이 목적이라면 도움말 문서와 함께 접속 방식, 작업 계정, 사용 기간을 먼저 정리합니다. 작은 되돌릴 수 있는 작업으로 SSH, 인증, 권한 차단과 성능을 검증한 뒤 장기 개발 노드로 전환하는 순서가 가장 안전합니다.