한줄 요약
여유 Mac 한 대로 Claude Code 자율 실행 환경을 만들어, 메인 머신 리스크 없이 AI 에이전트를 24시간 굴릴 수 있다.
어떤 상황에서 필요한가?
Claude Code를 메인 개발 머신에서 직접 돌리는 건 생각보다 위험하다. 특히 --dangerously-skip-permissions 플래그를 켜면 파일 시스템과 네트워크를 AI가 제약 없이 건드릴 수 있다. 리서치 자동화, 반복적인 개발 작업, 장시간 실행이 필요한 에이전트 태스크를 메인 머신에 올려두면 실수 하나에 작업 환경 전체가 날아갈 수 있다.
컨테이너 방식도 대안이긴 하지만 한계가 있다. 결국 메인 머신 위에서 돌기 때문에 네트워크 격리가 완전하지 않고, Unity 같은 Mac 전용 앱이나 GUI 기반 컴퓨터 유즈(클릭, 드래그 등)는 컨테이너 안에서 구현하기 어렵다. 이 갭을 메우는 가장 현실적인 방법이 여유 Mac 한 대를 전용 에이전트 머신으로 세팅하는 것이다.
모바일 접근성도 무시할 수 없는 이점이다. 이 구조를 갖추면 Claude 앱에서 스마트폰으로 언제 어디서든 에이전트에게 지시를 내릴 수 있다. 일반 Claude보다 Claude Code가 실제 작업 처리 능력이 높다는 점에서, 모바일 접근성까지 챙길 수 있는 이 구조는 실용적인 워크플로우 개선으로 이어진다.
핵심 구현 방법
전체 구조는 단순하다. 타깃 Mac(여유 머신)을 완전히 초기화하고, 개인 데이터가 없는 격리 계정을 만들고, SSH로 원격 접속 가능하게 열어두는 것이다.
1단계: 타깃 Mac 초기화 및 격리 계정 생성
기존 데이터가 있다면 반드시 초기화해야 한다. Apple Silicon 계열은 시스템 설정 → 일반 → 전송 또는 재설정 → 전체 내용 및 설정 지우기로 처리한다. Intel Mac은 부팅 시 Cmd-R을 눌러 복구 모드로 진입한 뒤 Disk Utility로 내장 드라이브를 지우고 macOS를 재설치한다.
초기화 후에는 Apple ID를 연결하지 않은 로컬 계정을 새로 만든다. 이 계정에 sudo 권한이 필요하므로 시스템 설정 → 사용자 및 그룹에서 관리자 권한을 부여한다.
2단계: SSH 활성화
타깃 머신 터미널에서 아래 명령어를 실행한다.
sudo systemsetup -setremotelogin on
Full Disk Access 권한 오류가 나면 시스템 설정 → 개인 정보 보호 및 보안 → 전체 디스크 접근에서 Terminal.app을 추가한 뒤 재실행한다.
3단계: 패스워드 없는 sudo 구성
에이전트가 매번 비밀번호 프롬프트에 막히지 않도록 sudoers 규칙을 추가해야 한다.
echo "<user> ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/<user>-nopasswd >/dev/null
sudo chmod 440 /etc/sudoers.d/<user>-nopasswd
sudo visudo -cf /etc/sudoers.d/<user>-nopasswd
마지막 줄에서 parsed OK가 출력돼야 한다. 문법 오류가 있는 sudoers 파일은 sudo 자체를 먹통으로 만들 수 있으므로 검증 단계를 절대 건너뛰면 안 된다.
4단계: 호스트네임으로 접속 주소 고정
IP는 재부팅 후 바뀔 수 있으므로 호스트네임으로 접속하는 게 안정적이다.
scutil --get LocalHostName
출력값에 .local을 붙인 형태(<hostname>.local)가 접속 주소가 된다. 같은 네트워크에 이름이 중복되는 Mac이 있으면 충돌하므로, 필요하면 아래 명령어로 고유한 이름으로 변경한다.
sudo scutil --set LocalHostName newmacbook
이후 소스 Mac에서 ssh <user>@<hostname>.local로 접속해 Claude Code를 실행하면, 에이전트가 타깃 머신을 자율적으로 제어하는 구조가 완성된다.
실전에서 주의할 점
격리 계정이라도 같은 로컬 네트워크 위에 있다는 점을 잊으면 안 된다. 에이전트가 네트워크 스캔이나 다른 기기로의 접근을 시도할 가능성을 완전히 배제할 수 없다. 외부 인터넷을 쓰는 리서치 에이전트라면 라우터 수준에서 타깃 Mac의 네트워크 접근 범위를 제한하는 VLAN 또는 방화벽 규칙을 추가로 고려할 만하다.
passwordless sudo는 편의성과 리스크의 트레이드오프다. 에이전트 오작동 시 시스템 전체를 망가뜨릴 수 있는 명령도 프롬프트 없이 실행된다. 이 계정으로는 민감한 파일, 외부 서비스 API 키, 개인 인증서가 절대 존재하지 않아야 한다.
Apple ID 미연결 원칙은 타협 없이 지켜야 한다. iCloud Drive, 연락처, 메시지, 사진 등 개인 데이터가 단 하나라도 동기화되는 순간 격리 계정의 의미가 사라진다.