설정
VPS에서 Claude Code 실행하기
항상 켜져 있는 작은 서버가 있으면 Claude Code를 노트북에서 떼어 내, 내가 일하지 않는 동안에도 계속 일하게 할 수 있습니다. 빠르게 세우고 안심하고 켜 둘 수 있으며, 다른 코딩 에이전트를 위한 자리도 있는 구성을 소개합니다.
빠른 답변
RAM 4 GB 이상의 Linux VPS를 빌리고, root가 아닌 사용자를 만들고, SSH를 키 전용 로그인으로 바꾸세요. 그런 다음 curl -fsSL https://claude.ai/install.sh | bash로 Claude Code를 설치하고(Node.js 불필요), claude auth login으로 로그인하며 SSH로 코드를 붙여넣습니다. 세션은 tmux, Remote Control, 또는 Maude 같은 세션 데몬으로 유지합니다.
노트북 대신 서버에서 Claude Code를 실행하면 세 가지를 얻습니다. 노트북을 닫아도 계속 일합니다. 연결이 끊겨도 살아남습니다. 그리고 SSH 키와 브라우저 프로필이 있는 머신이 아니라 버려도 되는 머신에 에이전트를 둘 수 있습니다. 이 가이드는 새 Debian이나 Ubuntu 머신에서 15분 정도면 되는 구성을 다룹니다. Alpine과 Fedora에서도 약간만 바꾸면 같은 단계로 됩니다.
Claude Code가 포함된 Claude 요금제가 필요합니다. Pro, Max, Team, Enterprise, 또는 Console 계정입니다. 무료 claude.ai 요금제에는 포함되지 않습니다. 구독으로 로그인하면 관리할 API 키도, 추가로 청구되는 사용료도 없습니다.
1. 머신 고르기
Anthropic의 시스템 요구 사항은 4 GB 이상의 RAM과 x64 또는 ARM64 프로세서를 명시합니다. 지원되는 Linux는 Ubuntu 20.04 이상, Debian 10 이상, Alpine 3.19 이상입니다. 실제로는 CLI보다 프로젝트의 도구 체인이 더 많은 것을 결정합니다.
- 4 GB: 문서상 최소 사양. 적당한 프로젝트에서 세션 하나라면 괜찮습니다.
- 8 GB: 상당한 규모의 무언가(번들러, 테스트 스위트, 컨테이너 한두 개)를 빌드하거나 여러 세션을 동시에 실행한다면.
- 16 GB: 여러 에이전트를 병렬로 실행하거나 옆에 데이터베이스를 둔다면.
Hetzner, DigitalOcean, Scaleway, OVH, Vultr 등 모두 되고, 책상 아래의 오래된 머신도 됩니다. 그 머신의 터미널에 입력할 일이 있다면 가까운 리전을 고르세요. ARM 인스턴스는 보통 GB당 가장 저렴하며 Claude Code가 네이티브로 실행됩니다. 제공업체와 사양 비교는 코딩 에이전트에 가장 좋은 VPS 가이드에 있습니다.
2. root가 아닌 사용자 만들기
많은 VPS 이미지가 root로 로그인하게 합니다. 에이전트를 root로 실행하지 마세요. 모든 실수가 시스템 전체의 실수가 됩니다. 게다가 Claude Code는 root에서 바이패스 권한 모드로 시작하기를 거부하므로, 어차피 언젠가는 일반 사용자가 필요합니다. Debian이나 Ubuntu에서는 다음과 같습니다.
adduser dev
usermod -aG sudo dev
rsync --archive --chown=dev:dev ~/.ssh /home/dev
Fedora에서는 관리자 그룹이 sudo가 아니라 wheel입니다. Alpine에서는 먼저 sudo나 doas를 설치하세요. 마지막 줄은 지금 로그인한 키를 복사하므로, 무언가를 잠그기 전에 dev로 다시 접속할 수 있습니다. 첫 번째 터미널을 닫기 전에 두 번째 터미널에서 시험해 보세요. 새 VPS에서 스스로를 잠가 버리는 것은 건너뛰는 게 좋은 통과 의례입니다.
3. SSH 키와 보안 강화
아직 비밀번호로 로그인한다면 먼저 키로 바꾸세요. 내 컴퓨터에서 ssh-keygen -t ed25519로 키를 만들고, ssh-copy-id dev@your-server로 올립니다. 키 로그인이 되면 /etc/ssh/sshd_config를 편집하세요.
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
그런 다음 SSH를 재시작합니다. Debian과 Ubuntu에서는 sudo systemctl restart ssh입니다. Fedora에서는 서비스 이름이 sshd이므로 sudo systemctl restart sshd를 실행하세요. 더 하려면 fail2ban과 SSH만 허용하는 방화벽을 추가하세요. 머신이 공용 인터넷에 있을 필요가 전혀 없다면 Tailscale 네트워크에 두세요. 휴대폰도 같은 네트워크에 들어가 직접 닿습니다.
휴대폰에서: SSH 앱은 기기에서 키를 만들고 ~/.ssh/authorized_keys에 붙여넣을 공개 키를 보여 줄 수 있습니다. Maude는 이를 대신 해 줍니다. "Set up key login" 버튼은 이미 로그인한 연결로 키를 만듭니다. 공개 키를 설치하고, 새 키를 시험한 뒤, 개인 키는 휴대폰의 키체인에만 보관합니다.
4. Claude Code 설치하기
Anthropic은 이제 Node.js가 필요 없는 네이티브 설치 프로그램을 권장합니다. sudo가 아니라 일반 사용자로 실행하세요.
curl -fsSL https://claude.ai/install.sh | bash
claude --version
claude doctor
런처는 ~/.local/bin/claude에 놓이고 백그라운드에서 스스로 업데이트됩니다. claude doctor는 세션을 시작하지 않고 설치와 설정을 점검합니다. 다른 방법도 있으며, 모두 설정 문서에 나와 있습니다.
- 시스템 패키지 관리자가 관리하길 원한다면 서명된 apt, dnf, apk 저장소. 자동 업데이트되지 않으며, 시스템의 나머지와 함께 업그레이드합니다.
- npm도 여전히 됩니다(
npm install -g @anthropic-ai/claude-code, Node.js 22 이상). 같은 네이티브 바이너리를 설치합니다. Anthropic은sudo npm install -g를 쓰지 말라고 경고합니다. - Alpine에는
bash,curl,libgcc,libstdc++,ripgrep이 필요하며, 설정에USE_BUILTIN_RIPGREP=0도 넣어야 합니다.
예전 가이드에서 Node를 먼저 설치하라고 했다면, 이제 그 단계는 건너뛰어도 됩니다.
5. 브라우저 없이 로그인하기
claude(또는 claude auth login)를 실행하고 안내를 따르세요. VPS에는 브라우저가 없으므로 다른 기기에서 로그인 URL을 엽니다. Claude Code에서 c를 누르면 URL이 복사됩니다. 거기서 로그인하세요. 브라우저가 Claude Code의 로컬 콜백에 닿지 못하면(SSH에서는 정상입니다) 대신 코드를 보여 줍니다. 그것을 Paste code here if prompted 줄에 붙여넣으면 서버에서 로그인이 완료됩니다.
자격 증명은 ~/.claude/.credentials.json에 0600 모드로 저장됩니다. 머신을 그에 맞게 다루세요. 그 사용자의 셸을 가진 누구나 내 Claude 구독을 쓸 수 있습니다. 스크립트와 CI용으로는 claude setup-token도 있어, CLAUDE_CODE_OAUTH_TOKEN으로 설정하는 1년짜리 토큰을 출력합니다. 인증 문서에 따르면 이 토큰은 모델 요청만 할 수 있고 Remote Control 세션은 시작할 수 없습니다.
6. 계속 실행하기
SSH 세션의 포그라운드에서 시작한 것은 그 연결과 함께 사라집니다. 흔한 해결책은 tmux입니다.
sudo apt install tmux
tmux new -s work
# start claude, then detach with Ctrl-B then D
tmux attach -t work
분리하고, 신호가 끊기고, 몇 시간 뒤 다시 접속해 연결해도 세션은 그대로입니다. 하지만 tmux는 재부팅을 견디지 못합니다. 재부팅 후에는 claude --continue가 그 디렉터리의 가장 최근 대화를 이어 갑니다. systemd와 세션 데몬을 포함한 다른 선택지는 노트북을 닫아도 Claude Code 계속 실행하기 가이드에서 다룹니다.
7. 같은 머신, 더 많은 에이전트
Claude Code를 실행하는 서버는 다른 코딩 에이전트도 옆에서 실행할 수 있습니다. 각각 홈 디렉터리에 설치되고 자체 로그인을 유지하므로 서로 방해하지 않습니다. 동시에 실행되는 각 에이전트를 위해 RAM에 여유를 두세요.
| 에이전트 | 설치 | 헤드리스 로그인 |
|---|---|---|
| Codex (OpenAI) | npm install -g @openai/codex | codex login --device-auth(먼저 ChatGPT 보안 설정에서 기기 코드 로그인 활성화) 또는 API 키 |
| OpenCode | curl -fsSL https://opencode.ai/install | bash | TUI에서 /connect 후 제공자 키 붙여넣기 |
| Grok Build (xAI) | curl -fsSL https://x.ai/cli/install.sh | bash | 첫 실행 시 브라우저 로그인, 또는 XAI_API_KEY |
Antigravity CLI (Google, agy) | curl -fsSL https://antigravity.google/cli/install.sh | bash | SSH에서는 URL을 출력하고 코드를 붙여넣음, 또는 GEMINI_API_KEY 설정 |
출처: Codex 인증, OpenCode 문서, Grok Build 문서, Antigravity CLI 설치, 2026년 10월 확인. Codex와 Antigravity에는 별도 안내가 있습니다: VPS에서 Codex CLI 실행하기, 서버에서 Antigravity CLI 실행하기. Gemini CLI는 더 이상 개인 Google 계정의 선택지가 아니며, Antigravity CLI가 Google의 대체재입니다.
8. 휴대폰에서 접근하기
방법은 세 가지이며, 손이 많이 가는 것부터 적게 가는 것 순입니다.
SSH 앱과 tmux. Termius, Blink 등 아무 클라이언트로 tmux 세션에 연결합니다. 무료이고 기능도 다 있지만, 소프트 키보드로 전체 화면 터미널을 조작하게 됩니다. 비교는 여기에 있습니다.
Remote Control. tmux 안에서 claude remote-control을 시작하고 Claude 앱의 Code 탭에서 세션을 엽니다. Pro, Max, Team, Enterprise에 포함됩니다. Anthropic 문서도 바로 이 경우에 tmux나 screen을 권합니다. Claude 전용이며, 세션이 띄우는 권한 요청이 휴대폰으로 와서 거기서 답합니다. 앱에서 세션을 Auto나 바이패스 권한으로 바꿀 수는 없습니다.
Maude. Maude는 4단계와 6단계를 대신 해 주고, 5단계는 휴대폰에서 하게 됩니다. 주소, 붙여넣은 ssh … 명령, 또는 curl -fsSL https://maude.pilotdev.fr/setup | sh의 QR 코드로 서버를 추가합니다. root로 로그인되어 있다면 버튼 하나로 2단계의 root가 아닌 사용자를 만들어 줍니다. 그다음 Maude는 SSH로 자체 데몬을 배포하고 저희가 검증하고 고정한 버전으로 각 에이전트를 설치합니다. Claude, Codex 등 어느 것이든 휴대폰에서 로그인합니다. 앱을 닫아도 세션은 서버에서 계속 실행되며, 서버가 Maude 릴레이로 먼저 연결하므로 포트를 열지 않고 NAT 뒤에서도 작동합니다.
9. 권한 정하기
이제 흥미로운 질문입니다. 무인으로 얼마나 하게 둘 것인가? 다시 만들 수 있는 서버는, 실제로 버려도 되는 것으로 다뤘다면 권한을 완화하기에 맞는 곳입니다. 분류기가 안전한 작업을 승인하는 Claude Code의 자동 모드가 그 간격의 상당 부분을 메웁니다. 완전한 바이패스에는 2단계의 root 제한을 포함해 자체 규칙이 있습니다. 별도 페이지에서 다룹니다: Claude Code를 전체 권한으로 안전하게 실행하기.
잃어도 심각하지 않고 귀찮은 정도로 끝나도록 머신을 설정하세요. 작업을 원격에 자주 푸시하고, 다른 곳에 없는 비밀 정보는 두지 말고, 다시 만들 수도 있다고 가정하세요. 그게 사실이 되면 위의 모든 결정이 쉬워집니다.
휴대폰에서 실행하기
서버가 준비되면 휴대폰으로 쓰는 Claude Code에서 Maude가 어떻게 조작하는지 설명합니다. Claude만 쓰는 게 아니라면 에이전트 개요부터 시작하세요.
자주 묻는 질문
Claude Code에는 RAM이 얼마나 필요한가요?
브라우저 없이 서버의 Claude Code에 로그인할 수 있나요?
claude나 claude auth login을 실행하고, 표시된 URL을 아무 기기에서 열어 로그인하세요. SSH에서는 브라우저가 보통 리디렉션 대신 코드를 보여 주니, 터미널의 프롬프트에 붙여넣으세요. 비대화형 스크립트에는 claude setup-token이 오래 유효한 토큰을 만들어 주지만, Remote Control 세션은 시작할 수 없습니다.root로 실행해야 하나요?
여러 에이전트가 VPS 하나를 공유할 수 있나요?
Node.js가 아직 필요한가요?
변경 사항
- — 설치 방법을 Anthropic의 네이티브 설치 프로그램으로 변경(Node.js 더 이상 불필요). RAM 안내를 문서상 최소 4 GB에 맞춤. 헤드리스 로그인 코드 붙여넣기 흐름과 setup-token 추가. 같은 머신에서 Codex, OpenCode, Grok Build, Antigravity를 실행하는 새 섹션 추가.
- — 최초 게시.