Claude Code в терминале, локально и на VPS
Claude Code — изначально CLI-инструмент. Работает на локальной машине, на удалённом сервере по SSH, внутри Docker-контейнера и на VPS. Все AI-вычисления — на серверах Anthropic, ваша машина только запускает CLI-клиент.
Запуск в терминале
# Интерактивный режим
cd /path/to/project
claude
# Одноразовая команда (headless)
claude -p "Обнови README.md — добавь раздел Installation"
# С указанием модели
claude --model claude-opus-4-6
# Не загружать CLAUDE.md автоматически
claude --no-memory
На удалённом сервере / VPS
Установите Claude Code на сервер и работайте по SSH:
# На сервере (Ubuntu/Debian)
curl -fsSL https://claude.ai/install.sh | bash
# Авторизация через API-ключ (браузер недоступен)
export ANTHROPIC_API_KEY=sk-ant-...
echo 'export ANTHROPIC_API_KEY=sk-ant-...' >> ~/.bashrc
# Проверка
claude --version
tmux или screen, чтобы сессия Claude Code не прерывалась при разрыве SSH-соединения.
Remote Control (с марта 2026)
Claude Code Remote Control позволяет наблюдать за локальной сессией и управлять ею с любого устройства через браузер:
# Запуск с Remote Control
claude --remote
# Claude выведет URL вида:
# https://claude.ai/remote/session/abc123
# Откройте на телефоне или другом ПК
Docker-изоляция для Auto Mode
YOLO / Auto Mode опасно запускать без изоляции — Claude может удалить файлы или запустить нежелательные команды. Используйте Docker:
docker run -it --rm \
-v $(pwd):/workspace \
-w /workspace \
-e ANTHROPIC_API_KEY=$ANTHROPIC_API_KEY \
node:22-slim \
bash -c "npm i -g @anthropic-ai/claude-code && claude --dangerously-skip-permissions"
Headless / CI/CD
# В GitHub Actions
- name: Run Claude Code task
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
run: |
npm install -g @anthropic-ai/claude-code
claude -p "Запусти тесты и исправь упавшие"
GUI и Web UI
Нативного графического интерфейса у Claude Code нет — это принципиально CLI-инструмент. Варианты для тех, кто хочет GUI:
- VS Code / JetBrains плагин — интеграция в привычную IDE с визуальными диффами
- Cowork — отдельный графический клиент от Anthropic (январь 2026, потребительская версия)
- Remote Control — браузерный интерфейс для наблюдения за сессией
Несколько инстансов одновременно
# Терминал 1 — работа с backend
cd backend && claude
# Терминал 2 — работа с frontend
cd frontend && claude
# Или через tmux: разные окна, один проект
← Claude Code — главная · → Интеграции
tmux: сессии которые не умирают
Главная проблема работы по SSH — разрыв соединения убивает Claude Code. tmux запускает сессию независимо от SSH-соединения:
# Установка
sudo apt install tmux # Ubuntu/Debian
# Создать именованную сессию
tmux new -s claude
# Запустить Claude Code
claude
# Отключиться (сессия продолжает работать)
Ctrl+B, затем D
# Переподключиться позже
tmux attach -t claude
# Список активных сессий
tmux ls
SSH keep-alive: предотвращаем разрывы
Добавьте в ~/.ssh/config на локальной машине:
Host my-server
HostName 123.45.67.89
User deploy
ServerAliveInterval 60
ServerAliveCountMax 3
IdentityFile ~/.ssh/id_ed25519
ServerAliveInterval 60 отправляет keepalive-пакет каждые 60 секунд. При 3 пропущенных ответах соединение считается разорванным.
Claude Code в GitHub Actions
Флаг -p запускает Claude Code в headless-режиме — без интерактивного терминала, идеально для CI/CD:
# .github/workflows/claude-review.yml
name: AI Code Review
on:
pull_request:
types: [opened, synchronize]
jobs:
review:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Install Claude Code
run: npm install -g @anthropic-ai/claude-code
- name: Review PR
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
run: |
claude -p "Review the changes in this PR. \
Check for bugs, security issues, and code style. \
Be concise." \
--max-budget-usd 2.00 \
--dangerously-skip-permissions
--dangerously-skip-permissions нужен в CI, потому что некому нажимать «Разрешить». Используйте только в изолированных средах и с ограниченным --max-budget-usd, чтобы предотвратить непредвиденные расходы.
Ограничение памяти на VPS
Агентные задачи с несколькими sub-агентами потребляют много RAM. Если Claude Code убивается OOM-killer'ом:
# Проверить доступную память
free -h
# Добавить swap-файл (рекомендуется минимум 4GB)
sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
# Сделать постоянным после перезагрузки
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
Зачем вообще VPS для Claude Code
Казалось бы — зачем запускать Claude Code на сервере, если он работает на локальной машине? Несколько реальных причин, о которых рассказывают в сообществе:
Claude Code запускается на ночь переписывать легаси-модуль или генерировать тесты для 200 файлов. На локальной машине — риск засыпания, закрытия крышки ноутбука, потери соединения. На VPS задача работает независимо.
Сессия Claude Code живёт на сервере. Вы подключаетесь с телефона через SSH-клиент (Termius, Prompt), смотрите прогресс, даёте указания. Фактически — Claude Code в кармане.
Начали задачу с рабочего ноутбука, продолжили с домашнего — сессия та же, контекст не потерян.
YOLO-режим без подтверждений безопасно запускать только в изолированной среде. Отдельный VPS или Docker-контейнер на нём — правильный подход.
Рекомендуемые характеристики VPS
Сам Claude Code не требует мощного железа — все вычисления на серверах Anthropic. Ваш VPS только запускает CLI-клиент и держит файлы проекта:
| Параметр | Минимум | Комфортно |
|---|---|---|
| RAM | 2 ГБ | 4+ ГБ (для агентных задач) |
| CPU | 1 vCPU | 2 vCPU |
| Диск | 20 ГБ | 40+ ГБ |
| Сеть | 100 Мбит/с | 1 Гбит/с |
| ОС | Ubuntu 22.04 LTS | |
Популярные провайдеры: Hetzner (€4–8/мес, Европа), DigitalOcean ($6–12/мес), Linode/Akamai. Hetzner особенно популярен за соотношение цены и качества.
Безопасная настройка: правильный порядок шагов
# 1. Создайте не-root пользователя
adduser deploy
usermod -aG sudo deploy
# 2. Настройте SSH-ключи (скопируйте с локальной машины)
ssh-copy-id deploy@ваш-сервер
# 3. Отключите вход по паролю
sudo nano /etc/ssh/sshd_config
# PasswordAuthentication no
sudo systemctl restart ssh
# 4. Firewall
sudo ufw allow ssh
sudo ufw allow 443
sudo ufw enable
# 5. Установите Claude Code
curl -fsSL https://claude.ai/install.sh | bash
# 6. Авторизация без браузера
export ANTHROPIC_API_KEY="sk-ant-..."
echo 'export ANTHROPIC_API_KEY="sk-ant-..."' >> ~/.bashrc
Tailscale: лучший способ подключаться к VPS
Вместо того чтобы открывать SSH-порт всему интернету, поставьте Tailscale. Это VPN-сеть для ваших устройств: ноутбук, телефон, VPS — все в одной приватной сети с адресами вида 100.x.x.x.
# Установка Tailscale на VPS (Ubuntu)
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up
# После этого подключайтесь по внутреннему IP
ssh deploy@100.x.x.x # вместо публичного IP
Преимущества: SSH-порт можно вообще закрыть через UFW. Соединение шифрованное. С телефона через Tailscale можно работать с VPS как с локальной машиной — даже в кофейне через мобильный интернет.
Mosh: SSH который не падает
Стандартный SSH обрывается при нестабильном соединении. Mosh использует UDP и переживает кратковременные разрывы — идеально для работы с телефона или при слабом wi-fi:
# Установка на сервере
sudo apt install mosh
# Открыть порты (UDP 60000–61000)
sudo ufw allow 60000:61000/udp
# Подключение с локальной машины
mosh deploy@ваш-сервер
Перенос OAuth-токена: альтернатива API-ключу
Если у вас есть подписка Pro/Max и вы хотите использовать её на VPS без API-ключа — можно перенести OAuth-токен:
# На локальной машине (где уже авторизованы)
claude setup-token
# Получите токен вида: clct_...
# На VPS добавьте в .bashrc
export CLAUDE_CODE_OAUTH_TOKEN="clct_..."
Токен долгоживущий. Это официальный способ от Anthropic для работы без браузерной авторизации.
Мобильный доступ: Claude Code с телефона
Связка из трёх инструментов даёт полноценную работу с Claude Code с мобильного устройства:
- Tailscale на телефоне и VPS — приватная сеть
- Termius (iOS/Android) — SSH-клиент с хорошей клавиатурой для кода
- tmux на VPS — постоянные сессии, переключение между задачами
Реальный сценарий: вы уехали, но нужно срочно посмотреть что Claude делает с задачей. Открываете Termius → Tailscale-адрес VPS → tmux attach -t claude → видите текущее состояние задачи. Можете дать новые указания и закрыть телефон — задача продолжается.