Claude Code на VPS: полная настройка (безопасность, tmux, мобильный доступ)
Как запустить Claude Code на VPS с постоянными сессиями, нормальным усилением безопасности и полноценным доступом с телефона.
Запуск Claude Code на VPS означает вот что: ты даёшь ему задачу, закрываешь ноутбук и возвращаешься уже к готовому diff.
Без обрывов сессии. Без момента «всё пропало», когда у тебя моргнул Wi‑Fi.
Если ты до сих пор запускаешь его локально, ты наверняка сталкивался с обратной ситуацией. Сессия умирает посреди рефакторинга. Открываешь ноутбук, переподключаешься, заново объясняешь контекст, начинаешь сначала.
Ниже — полный разбор: выбор провайдера, усиление безопасности, установка Claude Code, сохранение сессий через tmux, сеть через Tailscale и мобильный доступ… за один вечер.
Почему ноутбук — не лучший вариант для работы с Claude Code
Настоящее узкое место — не вычислительные ресурсы. Главное — сохранить рабочее окружение живым между сессиями.
Claude Code упирается не в железо, а в API. Инференс происходит на серверах Anthropic.
Твоя локальная машина — это просто терминал, который держит поток, и этот поток умирает в тот момент, когда отваливается Wi‑Fi, переподключается VPN или ты закрываешь крышку ноутбука.
Переезд на VPS меняет ровно одну вещь: процесс работает на машине, которая не засыпает, не теряет Wi‑Fi и не зависит от того, где ты находишься.
Ты подключаешься, когда хочешь, отключаешься, когда хочешь, а агент продолжает работать.
VPS не ускоряет инференс и не запускает модели локально. Он просто остаётся в живых.
Что реально нужно от VPS
Мощный сервер не нужен. Claude Code работает даже на «картошке».
Инференс идёт на серверах Anthropic, поэтому твоему VPS нужен только достаточный запас ресурсов, чтобы держать файлы проекта, инструменты разработки и сам процесс Claude Code.
Споры про 16 ГБ RAM обычно возникают у людей, которые запускают несколько агентов одновременно или параллельно гоняют локальные модели на той же машине.
Для одной coding-сессии это, скорее всего, не про тебя.
Характеристики, которых реально хватает:
Если нужен дешёвый зарубежный VPS, можно рекомендовать Contabo как один из самых бюджетных вариантов.
Если важен сценарий оплаты российской картой, можно рассмотреть is*hosting.
В остальном этот гайд подойдёт и для Hetzner, DigitalOcean, Vultr и других провайдеров. Выбирай по региону, цене, качеству панели и удобству оплаты лично для тебя.
Какие провайдеры подойдут
Главное здесь не «идеальный бренд», а три вещи:
Для большинства задач Claude Code не нужен дорогой сервер. Гораздо важнее, чтобы VPS был стабильный, не засыпал и не создавал тебе лишних проблем с доступом.
Сначала безопасность: обязательный чек-лист для self-hosted Claude Code
Прочитай это до установки чего угодно.
Давать Claude Code root-доступ к VPS без ограничений — плохая идея.
Всё выглядит нормально до тех пор, пока агент не уходит «вбок», не меняет правило файрвола, и ты внезапно оказываешься заблокированным на машине, к которой физически не можешь подойти. Звучит маловероятно, пока однажды не случится.
Минимальная настройка до того, как Claude Code вообще что-либо начнёт трогать:
1. Не-root пользователь с sudo
adduser youruser usermod -aG sudo youruser
2. Вход по SSH-ключу, пароли отключены
ssh-keygen -t ed25519 ssh-copy-id youruser@your-vps-ip
На VPS отредактируй /etc/ssh/sshd_config:
PasswordAuthentication no PermitRootLogin no sudo systemctl restart sshd
3. Fail2Ban
sudo apt update sudo apt install fail2ban -y sudo systemctl enable fail2ban sudo systemctl start fail2ban
5. Tailscale — обязателен
Tailscale здесь лучше считать не «опцией», а обязательной частью сетевой безопасности.
Идея простая: ты не светишь SSH и другие сервисы в публичный интернет, а заходишь на VPS только через приватную Tailscale-сеть между твоими устройствами.
Именно так и стоит строить доступ к Claude Code на VPS.
Установка Tailscale на VPS
curl -fsSL https://tailscale.com/install.sh | sh sudo tailscale up
После этого VPS появится в твоей Tailscale-сети.
Как сделать так, чтобы все порты были доступны только через Tailscale
Это один из самых важных шагов во всей конфигурации.
Цель: никакие сервисы на VPS не должны быть доступны с публичного IP. Доступ — только через интерфейс Tailscale (tailscale0) внутри приватной VPN-сети.
(!!!ПРОЧИТАЙ ДО КОНЦА, МОЖНО ЗАБЛОКИРОВАТЬ САМОГО СЕБЯ!!!)
Пример минимального безопасного набора:
sudo ufw reset sudo ufw default deny incoming sudo ufw default allow outgoing sudo ufw allow in on tailscale0 to any port 22 proto tcp sudo ufw allow in on tailscale0 to any port 3000 proto tcp sudo ufw allow in on tailscale0 to any port 8080 proto tcp sudo ufw enable sudo ufw status verbose
Важно: не заблокируй себя раньше времени
- поставить Tailscale на VPS
- поставить Tailscale на своё основное устройство
- убедиться, что ты реально заходишь по Tailscale IP
- только после этого удалять публичный доступ по SSH (скопировать команды выше)
Сначала проверь, что вход работает так:
ssh youruser@100.x.y.z
где 100.x.y.z — это Tailscale IP твоего VPS.
Только когда ты успешно вошёл по Tailscale IP, имеет смысл закрывать публичный SSH.
Установка Tailscale на iPhone и ноутбук
Чтобы подключаться к VPS через приватную сеть, клиент Tailscale должен стоять и на тех устройствах, с которых ты заходишь.
iPhone
- Установи приложение Tailscale из App Store
- Войди в тот же Tailscale-аккаунт, что и на VPS
- Включи VPN-профиль, который предложит приложение
- Убедись, что iPhone появился в твоей Tailscale-сети
- После этого ты сможешь подключаться к VPS по его Tailscale IP из SSH-клиента
MacBook или другой ноутбук
macOS
- Установи приложение Tailscale для macOS
- Войди в тот же аккаунт
- Включи соединение
- Проверь, что устройство видно в сети Tailscale
- Подключайся к VPS уже по Tailscale IP
Windows / Linux
- Установи клиент Tailscale
- Авторизуйся в том же аккаунте
- Включи подключение
- Используй Tailscale IP VPS для SSH и других сервисов
После этого все рабочие подключения к серверу лучше выполнять только через адрес вида 100.x.x.x, а не через публичный IP.
Установка Claude Code на VPS
Когда не-root пользователь уже настроен, SSH-ключи работают, а Tailscale уже установлен и проверен:
Установи Node.js через nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash source ~/.bashrc nvm install --lts
Установи Claude Code
npm install -g @anthropic-ai/claude-code
Авторизация
claude --no-browser
Флаг --no-browser выдаст ссылку, которую можно открыть на локальной машине, вместо попытки запускать браузер на headless-сервере.
Открыл ссылку, авторизовался, готово.
Claude Code установлен. Следующий шаг — сделать так, чтобы он не умирал после отключения.
tmux: постоянные сессии Claude Code, переживающие разрыв соединения
Одного SSH недостаточно. Если соединение рвётся, сессия умирает вместе с ним. tmux даёт постоянные сессии, которые продолжают работать независимо от того, подключён ты или нет.
sudo apt install tmux -y
tmux new -s claude # создать именованную сессию claude # запустить внутри Claude Code # Ctrl+B, затем D # отсоединиться — сессия продолжит жить tmux attach -t claude # подключиться снова откуда угодно и с любого устройства
Даёшь Claude Code задачу, отсоединяешься, закрываешь ноутбук, возвращаешься завтра, подключаешься снова. Вот и весь workflow.
Если у тебя нестабильное соединение, стоит добавить Mosh. Он использует UDP вместо TCP, поэтому кратковременные разрывы сети не убивают само соединение.
Связка mosh для устойчивости соединения и tmux для устойчивости сессии закрывает обе проблемы.
sudo apt install mosh -y sudo ufw allow in on tailscale0 to any port 60000:61000 proto udp
mosh youruser@your-tailscale-ip
Мобильный доступ: полный стек
Конфигурация, которую стоит использовать: VPS + Tailscale + SSH-клиент + tmux.
Tailscale здесь обязателен, потому что именно он делает схему с приватным доступом по-настоящему удобной и безопасной.
На iPhone можно использовать любой нормальный SSH-клиент после того, как Tailscale уже поднят и устройство вошло в сеть.
Workflow с телефона
- Открываешь Tailscale и убеждаешься, что VPN активен
- Открываешь SSH-клиент на телефоне (например, на айфоне я пользуюсь Termius )
- Подключаешься к VPS по Tailscale IP
- Выполняешь
tmux attach -t claude - Даёшь Claude Code задачу
- Отсоединяешься и возвращаешься позже
Есть ещё один важный момент: функция Remote Control у Claude Code позволяет управлять сессией с телефона, но сам процесс при этом всё равно работает на твоей локальной машине. Закрыл терминал — сессия умерла.
Настройка через VPS — это путь к настоящему сценарию «закрыл ноутбук, а работа продолжается».
FAQ
Сколько стоит запуск Claude Code на VPS в месяц?
Обычно это стоимость самого VPS плюс подписка Claude.
Если брать бюджетный сервер, общий ежемесячный порог получается сравнительно низким по сравнению с отдельной машиной под это или с потерями времени на постоянное восстановление контекста после обрывов.
Нужен ли опыт работы с Linux, чтобы пройти эту настройку?
Нужен уровень «вставить команду и прочитать сообщение об ошибке». Всё здесь делается copy-paste.
Самая важная часть — не пропускать базовую безопасность и не оставлять сервисы торчать в публичный интернет без необходимости.
Может ли Claude Code сломать мой VPS?
Да, если дать ему root-доступ без ограничений.
Именно поэтому раздел про безопасность идёт раньше раздела про установку. Не-root пользователь, SSH-ключи, UFW, Fail2Ban, обязательный Tailscale и доступ только через приватную сеть — сначала это, и ты уже убираешь самые очевидные сценарии отказа.
Заключение
Полный стек выглядит так: Ubuntu VPS, не-root пользователь с sudo, SSH-ключи, UFW, Fail2Ban, обязательный Tailscale, доступ к портам только через Tailscale-сеть, установленный Claude Code, tmux для постоянных сессий и доступ с iPhone или ноутбука через Tailscale-клиент.
Один вечер — и больше никаких отваливающихся сессий.
Если тебе нужен бюджетный зарубежный вариант, можно смотреть в сторону Contabo.
Если важна оплата российской картой, можно рассмотреть is*hosting.
Телеграм канал НейроВайб ИИ