Чтобы запустить 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 и обычные терминальные сессии в настоящих терминалах. Сессии продолжают работать после отключения, а подключаетесь вы снова из браузера или десктопного приложения.
Настройка вкратце:
- Откройте app.agentvera.dev/runners и добавьте runner. Вы получите 8-символьный код сопряжения, действующий 10 минут.
- На сервере выполните команду установки с этим кодом:
curl -fsSL https://app.agentvera.dev/runner/install.sh | sh -s -- --pair KOD
- Установите 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) |
| Агент на сервере, до которого вы уже достаёте по SSH | Runs 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 делают то же самое с меньшей возней.
Читайте также:
- Git worktree для параллельных агентов
- Криптоторговый бот с ИИ
- Несколько агентов Claude Code одновременно
- Docker
- Что такое кодовый агент?
Чтобы попробовать AgentVera, начните с главной страницы.