Claude Code в терминале, локально и на VPS

7 минут чтения · 12 просмотров
Алексей Воронов
Алексей Воронов AI-инструменты · Koderra
Тестирует и описывает современные инструменты для разработчиков. Специализация — AI-ассистенты, автоматизация и CLI-инструменты.
17 апреля 2026
System with various wires managing access to centralized resource of server in data center
Claude Code · Инфраструктура

Claude Code — изначально CLI-инструмент. Работает на локальной машине, на удалённом сервере по SSH, внутри Docker-контейнера и на VPS. Все AI-вычисления — на серверах Anthropic, ваша машина только запускает CLI-клиент.

Запуск в терминале

AI Lovers
Эксперт по Claude Code
Claude Code на VPS в Docker: установка, доступ и первый запуск на сервере
от 9 990 ₽ →
# Интерактивный режим
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 для долгих задач: Используйте 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 на одном аккаунте расходуют общий пул токенов. На Pro-плане два одновременных инстанса исчерпают лимит в 2 раза быстрее.

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 в кармане.

Несколько машин, один контекст

Начали задачу с рабочего ноутбука, продолжили с домашнего — сессия та же, контекст не потерян.

Изоляция для Auto Mode

YOLO-режим без подтверждений безопасно запускать только в изолированной среде. Отдельный VPS или Docker-контейнер на нём — правильный подход.

Рекомендуемые характеристики VPS

Сам Claude Code не требует мощного железа — все вычисления на серверах Anthropic. Ваш VPS только запускает CLI-клиент и держит файлы проекта:

ПараметрМинимумКомфортно
RAM2 ГБ4+ ГБ (для агентных задач)
CPU1 vCPU2 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 с мобильного устройства:

  1. Tailscale на телефоне и VPS — приватная сеть
  2. Termius (iOS/Android) — SSH-клиент с хорошей клавиатурой для кода
  3. tmux на VPS — постоянные сессии, переключение между задачами

Реальный сценарий: вы уехали, но нужно срочно посмотреть что Claude делает с задачей. Открываете Termius → Tailscale-адрес VPS → tmux attach -t claude → видите текущее состояние задачи. Можете дать новые указания и закрыть телефон — задача продолжается.

AI Lovers
AI Lovers ✓ Проверен
Помогаю командам разработчиков запускать AI-инструменты на собственных серверах. Специализация — Claude Code, Docker-стеки для LLM-агентов, MCP-серверы. Работаю
Услуги эксперта по теме