Claude Code на удалённом сервере: практическое руководство

Как запустить Claude Code на удалённом сервере или VPS: SSH и tmux, dev-контейнеры, облачные ВМ, вход на машине без экрана, безопасность и Runner от AgentVera.

Solviera Teknoloji 8 мин чтения

Чтобы запустить Claude Code на удалённом сервере, установите его там, один раз войдите и запустите внутри терминальной сессии, которая переживает ваше отключение, обычно это tmux поверх SSH. В этом вся идея. Остальное — выбрать, где живёт сервер, как агент входит без браузера и до чего агент может дотянуться из вашего мира оттуда.

В статье объясняется, зачем переносить агентов на VPS, сравниваются распространённые схемы, разбирается вход на машине без экрана и базовая безопасность, а затем показано, как AgentVera работает с удалёнными агентами через Runner, SSH-агентов и Docker.

Зачем запускать кодового агента на удалённом сервере

Ноутбук — плохой дом для долгих запусков агента. Он засыпает, теряет Wi-Fi, и вы закрываете крышку, чтобы уйти домой. Сервер так не делает.

Частые причины вынести агентов с вашей машины:

  • Долгие задачи. Миграция, большой рефакторинг или набор тестов на час не должны останавливаться из-за того, что ноутбук уснул.
  • Код уже там. Некоторые проекты собираются только на Linux, требуют GPU или базу данных, существующую только в той сети.
  • Изоляция. Агент на одноразовой ВМ не доберётся до ваших личных файлов, SSH-ключей и сессий браузера.
  • Доступ откуда угодно. Вы запускаете задачу за рабочим столом, а проверяете с другого компьютера или телефона.
  • Несколько агентов сразу. Сервер с большим числом ядер и памяти запускает больше агентов параллельно, чем ноутбук.

Цена — настройка и ответственность. Сервер, который вы контролируете, нужно защищать.

Варианты вкратце

СхемаПереживает отключениеИзоляцияУсилияПодходит для
SSH + tmux на VPSДаОтдельная машинаНизкиеБольшинства, один-два проекта
Dev-контейнер (локальный или удалённый)Пока работает контейнерКонтейнерСредниеВоспроизводимых окружений, команд
Облачная ВМ на задачуДаПолная ВМСредние или высокиеОдноразовых окружений, рискованной работы
Агент в контейнере на вашей машинеНет, останавливается вместе с агентомКонтейнерНизкиеИзоляции без сервера

SSH и tmux

Это самая простая схема, и она работает для любого CLI-агента. На сервере:

npm install -g @anthropic-ai/claude-code
tmux new -s agent
cd ~/projects/my-app
claude

Отсоединитесь через Ctrl-b d и закройте SSH. Агент продолжит работать. Позже снова подключитесь по ssh и выполните tmux attach -t agent. Если вы предпочитаете screen или zellij, идея та же: сессия принадлежит серверу, а не вашему SSH-соединению.

Чем приходится жертвовать: нет дерева файлов и просмотра diff, а переключение между несколькими агентами превращается в жонглирование окнами tmux.

Dev-контейнеры

Dev-контейнер описывает окружение в файле (devcontainer.json плюс Dockerfile), чтобы на каждой машине были одни и те же инструменты. Запускать его можно локально или на удалённом Docker-хосте. Агент работает внутри контейнера и видит только то, что вы в него примонтировали.

Подвох в том, что вход агента тоже должен существовать внутри контейнера, а пересобранный контейнер теряет всё, что вы не сохранили.

Облачные ВМ

Новая ВМ на каждую задачу даёт самую чистую изоляцию: если агент что-то сломает, вы удаляете машину. Настройки больше, и нужен способ загрузить код и забрать результат, обычно это git-ветка, в которую пушит агент.

Вход на машине без экрана

Кодовые агенты обычно входят через браузер. На сервере его нет, поэтому нужен один из этих путей.

Claude Code

  • Браузер на вашем компьютере. Запустите claude на сервере. Он покажет ссылку для входа; откройте её на своей машине. Если браузер не достаёт до локального callback сервера, Claude Code покажет код, который нужно вставить в терминале по запросу «Paste code here if prompted».
  • Долгоживущий токен. claude setup-token создаёт годовой токен OAuth для подписки Pro, Max, Team или Enterprise. Он нигде не сохраняется за вас: задайте его на сервере как CLAUDE_CODE_OAUTH_TOKEN. Этот токен покрывает только запросы к модели.
  • API-ключ. Задайте ANTHROPIC_API_KEY, если вы платите за использование через API.

В Linux Claude Code хранит учётные данные в ~/.claude/.credentials.json с правами 0600. В macOS они лежат в Keychain, а по SSH, если Keychain заблокирован, используется этот файл.

Codex

  • Device code. codex login --device-auth выдаёт код, который нужно ввести в браузере на другой машине. Это бета-функция, её нужно включить в настройках безопасности ChatGPT (или администратору вашего рабочего пространства).
  • API-ключ. printenv OPENAI_API_KEY | codex login --with-api-key.
  • Запасные варианты. Скопируйте ~/.codex/auth.json с машины, где вы вошли, или пробросьте порт входа через ssh -L 1455:localhost:1455 и войдите как обычно.

Какой бы путь вы ни выбрали, файл с учётными данными на сервере так же чувствителен, как пароль. Любой, кто может его прочитать, может использовать вашу подписку.

Безопасность на сервере

Агент на сервере выполняет команды с правами пользователя, от имени которого запущен. Учитывайте это.

  • Используйте отдельного пользователя. Не запускайте агентов от root. Выделенный пользователь с собственной домашней папкой ограничивает то, до чего дотянется плохая команда.
  • Не держите секреты продакшена на машине. Если агенту не нужен пароль продакшен-базы, его не должно быть в файле .env на этом сервере.
  • Закройте входящие порты. SSH только по ключам, без входа по паролю и без забытых открытых dev-серверов.
  • Работайте в ветках. Пусть агент пушит в ветку, а не в main. Git worktree позволяют нескольким агентам работать над одним репозиторием, не мешая друг другу.
  • Следите за долгоживущими токенами. Годовой токен на общем сервере — риск на год. Меняйте его, если машина общая или выводится из эксплуатации.
  • Ожидайте истечения входа. Для запусков без присмотра проверьте, что сессия ещё авторизована, прежде чем оставлять её на ночь.

Как AgentVera запускает агентов на сервере

AgentVera — десктопное приложение, которое запускает CLI кодовых агентов рядом друг с другом в настоящих терминалах с вашими собственными входами. Оно даёт три способа вынести агентов с вашей машины.

Runner: ваш сервер, доступный отовсюду

Runner — небольшой сервис, который вы устанавливаете на свой сервер Linux или macOS, либо на Mac. Он запускает Claude Code, Codex, Gemini CLI, opencode и обычные терминальные сессии в настоящих терминалах. Сессии продолжают работать после отключения, а подключаетесь вы снова из браузера или десктопного приложения.

Настройка вкратце:

  1. Откройте app.agentvera.dev/runners и добавьте runner. Вы получите 8-символьный код сопряжения, действующий 10 минут.
  2. На сервере выполните команду установки с этим кодом:
curl -fsSL https://app.agentvera.dev/runner/install.sh | sh -s -- --pair KOD
  1. Установите CLI на сервере и войдите, например npm install -g @anthropic-ai/claude-code, а затем claude login.

Runner требует Node.js 20 или новее и curl или wget. В Linux он устанавливает пользовательский сервис systemd; выполните один раз sudo loginctl enable-linger $USER, чтобы он продолжал работать после выхода из системы. Чтобы агенты оставались внутри определённых папок, выполните agentvera-runner roots ~/projects. Без roots агенты работают в вашей домашней папке.

Что касается безопасности, Runner делает только исходящее соединение с app.agentvera.dev на порту 443, поэтому порт на сервере открывать не нужно. Трафик ретранслируется по TLS, а сервер AgentVera не интерпретирует, не логирует и не хранит его. Ваш код остаётся на вашем сервере, и подключаться могут только активные участники вашей организации. Страница Runner также показывает CPU, память и диск сервера.

Runner входит в тарифы Pro и Team.

Агенты по SSH: без дополнительного сервиса

Если у вас уже есть сервер в SSH-списке AgentVera, Runner не нужен. В диалоге нового агента выберите в Runs on этот сохранённый сервер вместо This computer и укажите Folder on the server. Тогда агент работает на сервере с собственным входом CLI этого сервера. Как сказано в диалоге, CLI должен быть установлен и авторизован на сервере, либо можно войти из терминала агента при первом запуске. Ваши локальные аккаунты, MCP и настройки браузера на сервере не используются.

Если на сервере установлен tmux, AgentVera запускает агента внутри сессии tmux. Эта сессия переживает SSH-соединение, и следующее подключение с любого компьютера снова присоединяется к ней. Выход из приложения её не останавливает; остановка или закрытие агента останавливает.

Сама функция SSH бесплатна: сохранённые серверы, зашифрованное хранилище для учётных данных, SFTP и ProxyJump. Подробности на странице SSH и SFTP.

Агенты в контейнере Docker: изоляция без сервера

Иногда сервер не нужен, нужна стена. Для локального агента Claude Code или Codex включите Run in a Docker container в диалоге агента. Агент видит только папку проекта; остальные файлы, программы и SSH-ключи на вашем компьютере для него закрыты. Можно задать лимиты CPU и памяти.

AgentVera собирает собственный образ (Node 22, git, ripgrep, Claude Code и Codex) при первом использовании, либо вы можете взять свой образ, если в нём есть команда claude или codex. Контейнер удаляется, когда агент останавливается. Нужен Docker Desktop, Colima или OrbStack. Это бесплатно; см. агенты в Docker.

Что выбрать

Вам нужноИспользуйте
Агенты, работающие часами на вашем сервере, с доступом из браузераRunner (Pro и Team)
Агент на сервере, до которого вы уже достаёте по SSHRuns on → сохранённый SSH-сервер
Изоляция на вашей машинеRun in a Docker container
Быстро глянуть на работающего агента с телефонаМобильное приложение или Telegram

Типичные ошибки

  • Запускать агента прямо в SSH-сессии и терять его при обрыве соединения.
  • Запускать агента от root «только на время».
  • Копировать на сервер целый .env с ключами продакшена.
  • Оставлять долгоживущий токен на общей машине и забывать о нём.
  • Позволять нескольким агентам работать в одной папке вместо отдельных веток или worktree.

Чек-лист

  • CLI установлен и авторизован на сервере.
  • Агент работает внутри tmux, Runner или другой сессии, переживающей отключение.
  • Он запущен от пользователя без root и ограничен папками проекта.
  • На сервере нет секретов продакшена, если задаче они не нужны.
  • Входящие порты закрыты, кроме SSH по ключам.
  • Каждый агент работает в своей ветке или worktree.

Итоги

Запуск Claude Code на удалённом сервере сводится к трём вещам: сессия, переживающая ваше соединение, вход, работающий без браузера, и сервер, на котором лежит только то, что нужно агенту. SSH и tmux приведут вас к цели за пять минут. Если нужно запускать агентов откуда угодно, видеть их файлы и diff и держать несколько запущенными одновременно, Runner и SSH-агенты AgentVera делают то же самое с меньшей возней.

Читайте также:

Чтобы попробовать AgentVera, начните с главной страницы.

Вопросы

Можно ли запускать Claude Code на удалённом сервере?

Да. Установите его на сервере через npm, один раз войдите и запустите внутри tmux по SSH. Сессия продолжает работать после отключения, и позже вы подключаетесь к ней с любого компьютера.

Как войти в Claude Code на сервере без браузера?

Запустите claude на сервере и откройте ссылку для входа на своём компьютере. Если браузер не достаёт до сервера, вставьте показанный код в терминал. Для машин без присмотра claude setup-token создаёт долгоживущий токен, который задаётся как CLAUDE_CODE_OAUTH_TOKEN.

Безопасно ли запускать кодового агента на VPS?

Может быть, если на сервере лежит только то, что нужно агенту. Используйте отдельного пользователя, не держите на машине секреты продакшена, закройте ненужные входящие порты и относитесь к файлам с учётными данными вроде ~/.claude/.credentials.json и ~/.codex/auth.json как к паролям.

Что такое AgentVera Runner?

Runner — небольшой сервис, который вы ставите на свой сервер Linux или macOS. Он запускает Claude Code, Codex, Gemini CLI, opencode и обычные терминалы в настоящих терминалах, которые продолжают работать после отключения. Он подключается только исходящим соединением, поэтому порты не открываются. Он входит в тарифы Pro и Team.

Может ли AgentVera запустить агента на моём сервере без Runner?

Да. В диалоге агента выберите в «Runs on» сохранённый SSH-сервер и укажите папку на сервере. Агент использует собственный вход CLI на сервере. Если там установлен tmux, сессия переживает обрыв соединения.

Соберите своих агентов за одним столом.

Скачайте AgentVera бесплатно; ваши установленные CLI уже готовы к работе.

Другие статьи