1. Приложения Claude и четыре удаленных рабочих процесса
Claude Code — агент программирования Anthropic: он читает проекты, редактирует файлы, запускает команды и тесты. То, что многие называют Claude CLI, — это та же программа командной строки claude. Claude Desktop предлагает вкладки Chat, Cowork и Code; Code уже включает Claude Code, поэтому отдельная установка CLI не нужна.
- Запуск claude на VPS через SSH: движок и проект остаются на VPS, а текст отображается в вашем локальном терминале.
- Подключение локального Claude Desktop к SSH-окружению: графический интерфейс остается локальным, а движок Claude Code работает на VPS.
- Remote Control: процесс Claude Code продолжает работать на VPS, пока вы управляете им с другого компьютера, телефона или браузера.
- Cloud Session: задача выполняется в инфраструктуре, управляемой Anthropic, а не на вашем VPS.
- Полный удаленный рабочий стол нужен только при необходимости: RDP для Windows, Screen Sharing для macOS, RDP/X2Go/VNC для Linux. Не устанавливайте GUI только ради отказа от CLI.
2. Пути данных: синхронизация сессии — не синхронизация файлов
- SSH и CLI: VPS читает и редактирует файлы и выполняет команды; ваш компьютер показывает вывод терминала, но файлы автоматически не синхронизируются.
- Локальный Desktop с SSH: локальное приложение показывает разговоры, запросы разрешений и diff, а VPS выполняет Claude Code, Git и команды проекта. Удаленные файлы остаются преимущественно на VPS.
- Remote Control: VPS выполняет код и обращается к файлам, а разговоры и активность инструментов проходят через Anthropic API на другие устройства.
- Пока Remote Control подключен, транскрипт хранится на серверах Anthropic для синхронизации; выполнение и доступ к файловой системе остаются на VPS.
- Remote Control не является прямой P2P-связью и не полной синхронизацией диска; фактическое получение файлов все равно требует Git, SCP или rsync.
3. Подготовка VPS и защита доступа
- Текущие требования Claude Code включают 4 ГБ ОЗУ или больше, x64 или ARM64, доступ по HTTPS и поддерживаемую страну или регион. Вывод модели выполняется в облаке, поэтому GPU не нужен.
- Создайте отдельную непривилегированную учетную запись для каждого пользователя и не запускайте Claude от root; используйте ключи SSH и ограничьте вход по паролю и исходные IP.
- Не открывайте лишние порты Claude, VNC, RDP или серверов разработки; Remote Control требует только исходящий HTTPS.
- Храните проекты в каталогах, принадлежащих непривилегированному пользователю; удаленный процесс получает ровно права пользователя SSH.
- При первом подключении проверьте отпечаток хоста через консоль VPS или другой доверенный канал; не устанавливайте StrictHostKeyChecking no.
# Проверка хоста Linux
cat /etc/os-release
uname -m
free -h
df -h "$HOME"
# Локальная запись ~/.ssh/config после проверки ключа хоста
Host vps-claude
HostName 203.0.113.10
User dev
Port 22
IdentityFile ~/.ssh/id_ed25519
IdentitiesOnly yes
StrictHostKeyChecking yes
ServerAliveInterval 60
ServerAliveCountMax 3
# Проверьте соединение
ssh vps-claude4. Установка Claude Code на VPS с Linux
- Ubuntu/Debian: установите curl, ca-certificates, git и tmux перед запуском официального нативного установщика.
- Fedora/RHEL: используйте dnf для тех же инструментов; если tmux недоступен во включенных репозиториях, используйте одобренный репозиторий или screen вместо неизвестного бинарника.
- Alpine: musl требует bash, curl, libgcc, libstdc++ и ripgrep, а USE_BUILTIN_RIPGREP нужно установить в 0.
- Для продакшена Anthropic также предоставляет подписанные репозитории apt, dnf и apk; перед доверием проверьте официальный отпечаток подписи.
# Ubuntu / Debian
sudo apt update
sudo apt install -y curl ca-certificates git tmux
# Fedora / RHEL: sudo dnf install -y curl ca-certificates git tmux
# Официальный нативный установщик (также работает на macOS и WSL)
curl -fsSL https://claude.ai/install.sh | bash
# Откройте новый терминал и проверьте
claude --version
claude doctor
# Если команда не найдена
export PATH="$HOME/.local/bin:$PATH"
claude --version
# Абсолютный путь для неинтерактивного SSH
~/.local/bin/claude --version
# Дополнительные зависимости Alpine
apk add bash curl libgcc libstdc++ ripgrep git tmux5. Windows Server и удаленные хосты macOS
- Claude Code CLI поддерживает Windows Server 2019 и новее. В PowerShell обычного пользователя выполните irm https://claude.ai/install.ps1 | iex, затем проверьте claude --version и claude doctor.
- Поддержка CLI в Windows Server не означает, что все графические функции Claude Desktop поддерживают ту же ОС; для серверных задач предпочтителен CLI.
- Чтобы подключить локальный Desktop к хосту Windows, установите Microsoft OpenSSH Server и проверьте SFTP и поведение удаленного процесса.
- В macOS используйте тот же нативный установщик или brew install --cask claude-code; удаленный Mac можно использовать напрямую через SSH или как хост для SSH-окружения локального Desktop.
6. Вход и учетные данные на VPS без браузера
- Запустите claude в каталоге проекта и скопируйте URL входа в браузер на своем компьютере для авторизации.
- Если браузер не может достичь callback VPS, он покажет код входа; вставьте его в терминал VPS в приглашении Paste code here if prompted.
- Используйте /status для проверки аутентификации, /logout для выхода и /login для повторного входа. Claude Code требует Pro, Max, Team, Enterprise или Console; бесплатный план claude.ai его не включает.
- ANTHROPIC_API_KEY и подписка Claude — разные пути аутентификации и оплаты; не записывайте реальные ключи в репозитории, Dockerfile, скриншоты или историю оболочки.
- claude setup-token предназначен для CI и скриптов; токен может делать запросы к модели, но не создает Remote Control и не обращается к коннекторам claude.ai.
- Учетные данные Linux обычно хранятся в ~/.claude/.credentials.json с режимом 0600; не загружайте и не синхронизируйте этот файл публично.
# Интерактивно прочитайте API-ключ в Bash, чтобы он не попал в историю команд
read -rsp "Anthropic API key: " ANTHROPIC_API_KEY; echo
export ANTHROPIC_API_KEY
claude
# Проверьте метаданные учетных данных, не читая секрет
stat -c '%a %U %n' ~/.claude/.credentials.json7. Держите сессию живой с tmux
- Создайте сессию командой tmux new -s claude-vps.
- Перейдите в проект и запустите claude внутри tmux.
- Нажмите Ctrl+B, затем D, чтобы отключиться, оставив процесс работающим.
- Переподключайтесь через tmux attach -t claude-vps и смотрите сессии через tmux ls.
- Для одноразового результата, сохраненного на вашем компьютере, выполните claude -p через неинтерактивный SSH и перенаправьте вывод.
tmux new -s claude-vps
cd /srv/my-project
claude
# Переподключитесь позже
tmux attach -t claude-vps
tmux ls
# Запустите сводку на VPS и сохраните локально
ssh vps-claude 'cd /srv/my-project && ~/.local/bin/claude -p "Summarize this project"' > ./project-summary.md8. Управление VPS через Remote Control
Remote Control создает только исходящие HTTPS-соединения и не открывает входящий порт. Транскрипты проходят через серверы Anthropic и хранятся там для синхронизации, а код и файлы остаются на VPS. Вложения могут загружаться на VPS, обычно в ~/.claude/uploads/, но созданные файлы проекта все равно нужно получать через Git, SCP или rsync.
- Remote Control требует подписку Pro, Max, Team или Enterprise и полный вход claude.ai через /login. Ключи API, setup-token, Bedrock, Vertex, Foundry и некоторые пользовательские базовые URL API не поддерживаются.
- VPS должен оставаться включенным, а процесс claude — работать; организация также может отключить функцию.
- CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC и DISABLE_GROWTHBOOK могут сделать ее недоступной. Если ключ API переопределяет подписку, удалите его и снова выполните /login.
- Используйте claude remote-control для серверного режима, claude --remote-control "VPS Project" для сохранения локального взаимодействия или /remote-control внутри существующей сессии.
- После одноразового подтверждения терминал показывает URL сессии и QR-код. Откройте claude.ai/code или используйте приложение Claude с тем же аккаунтом и организацией.
- Для параллельных сессий, которым не следует редактировать один и тот же каталог, рассмотрите --spawn worktree.
tmux new -s claude-remote
cd /srv/my-project
# Серверный режим
claude remote-control
# Независимые worktree для параллельных сессий
claude remote-control --spawn worktree
# Сохранить взаимодействие в терминале VPS и разрешить другие устройства
claude --remote-control "VPS Project"9. Лучший графический процесс: локальный Claude Desktop с SSH
Desktop передает ответы, вывод инструментов, запросы разрешений и diff на ваш компьютер, но правки и операции Git остаются на VPS. Длинные задачи также зависят от обновления учетных данных, перезапуска VPS, KillUserProcesses, обновлений помощника и онлайн-инструментов. Если ваш компьютер должен выключиться, предпочтите Cloud Session, а не предполагайте, что Desktop SSH надежно проработает всю ночь.
- Установите официальное приложение Claude Desktop на свой компьютер, войдите и откройте Code. Существуют сборки для macOS, Windows и Ubuntu/Debian Linux beta; отдельные Node.js или CLI не нужны.
- Откройте селектор окружения → New environment → SSH → Add SSH connection….
- Введите Name, SSH host (user@hostname или Host из ~/.ssh/config), SSH port, необязательный путь к локальному закрытому ключу и необязательную Worktree folder.
- Выберите каталог удаленного проекта и нажмите Create environment. При первом подключении Desktop устанавливает движок и помощник в ~/.claude/remote/ без sudo.
- Каждому подключающемуся пользователю нужно около 1 ГБ свободного места и записываемый исполняемый домашний каталог, не смонтированный с noexec.
- Хосту нужны SSH с SFTP, рабочая оболочка, сетевой доступ, Git для функций Git и несколько сессий на одно соединение; MaxSessions 1 вызывает ошибки.
# Конфигурация бастиона в ~/.ssh/config
Host devbox
HostName devbox.internal.example.com
User dev
ProxyJump bastion.example.com
# Введите devbox в поле SSH host в Desktop
# Поведение клиента Windows отличается; проверьте требования system-openssh для ProxyJump
# Независимо проверьте SFTP
sftp vps-claude10. Запуск Claude Desktop внутри удаленного GUI
- Claude Desktop для Linux находится в beta и требует Ubuntu 22.04+ или Debian 12+, x86_64 или arm64, графический рабочий стол и доступный keyring; эти требования отличаются от CLI.
- Не запускайте claude-desktop от root; заблокированный keyring может помешать сохранению входа.
- Cowork дополнительно требует QEMU, KVM, /dev/kvm и связанную виртуализацию. Многие платформы VPS не поддерживают вложенную виртуализацию, поэтому используйте Code или CLI.
- На графическом хосте Windows устанавливайте и входите через защищенный RDP; не открывайте порт RDP 3389 всему интернету.
- На удаленном Mac используйте Screen Sharing и защищайте порт VNC 5900 VPN или SSH-туннелем, а не публичным доступом.
# Добавьте официальный репозиторий Claude Desktop на Ubuntu / Debian
sudo curl -fsSLo /usr/share/keyrings/claude-desktop-archive-keyring.asc https://downloads.claude.ai/claude-desktop/key.asc
gpg --show-keys /usr/share/keyrings/claude-desktop-archive-keyring.asc
# Отпечаток: 31DDDE24DDFAB679F42D7BD2BAA929FF1A7ECACE
echo "deb [arch=amd64,arm64 signed-by=/usr/share/keyrings/claude-desktop-archive-keyring.asc] https://downloads.claude.ai/claude-desktop/apt/stable stable main" | sudo tee /etc/apt/sources.list.d/claude-desktop.list
sudo apt update
sudo apt install claude-desktop
claude-desktop
# Пробросьте удаленный VNC на локальную машину; не открывайте порт 5900
ssh -L 127.0.0.1:5900:127.0.0.1:5900 vps-claude11. Возврат разговоров, файлов и превью на ваш компьютер
- Для небольших текстовых файлов читайте их через SSH и перенаправляйте вывод в локальный файл.
- Используйте scp для отдельной загрузки и скачивания и rsync для синхронизации каталогов; избегайте --delete, пока не поймете его эффект.
- Используйте Git для исходного кода, чтобы история, diff и откат оставались доступными вместо повторного копирования всего каталога.
- Вложения Remote Control могут попадать на VPS, но созданные файлы проекта все равно нужно забирать через Git, SCP или rsync.
- Предварительно просматривайте веб-приложения через локальный проброс порта SSH, а не открывайте порты разработки публично.
# Скачайте небольшой текстовый файл
ssh vps-claude 'cat /srv/my-project/result.md' > ./result.md
# Загрузите файл
scp ./input.zip vps-claude:/srv/my-project/
# Скачайте файл
scp vps-claude:/srv/my-project/result.md ./result.md
# Загрузите содержимое каталога
rsync -av --partial --progress ./my-project/ vps-claude:/srv/my-project/
# Скачайте содержимое каталога
rsync -av --partial --progress vps-claude:/srv/my-project/ ./my-project/
# Просмотрите изменения исходного кода на VPS
git status
git diff
# Перенаправьте приложение на 127.0.0.1:3000 VPS на тот же локальный адрес
ssh -L 127.0.0.1:3000:127.0.0.1:3000 vps-claude
# Затем откройте http://127.0.0.1:300012. Контейнеры, бастионы и ограниченные сети
- Используйте официальную функцию Claude Code Dev Container и именованный том для сохранения аутентификации и настроек между сборками; никогда не встраивайте учетные данные в образ и не делайте commit контейнера с ними.
- Не монтируйте весь ~/.ssh хоста; предпочитайте краткосрочные токены или менеджер секретов и рассматривайте файлы проекта и конфигурацию Claude как отдельные области хранения.
- Remote Control требует только исходящий HTTPS, поэтому публичный IP не нужен. Для SSH используйте бастион, WireGuard, оверлейную сеть или корпоративный VPN.
- Для прокси или корпоративного CA на VPS с Linux задайте HTTPS_PROXY и NODE_EXTRA_CA_CERTS в ~/.claude/settings.json. Desktop SSH может не читать ~/.bashrc.
- Не отключайте проверку TLS ради обхода ошибок сертификатов.
// ~/.claude/settings.json
{
"env": {
"HTTPS_PROXY": "http://proxy.example.com:8080",
"NODE_EXTRA_CA_CERTS": "/etc/ssl/certs/example-ca.pem"
}
}
// devcontainer.json: сохранить конфигурацию между пересборками
"mounts": [
"source=claude-code-config,target=/home/node/.claude,type=volume"
],
"containerEnv": {
"CLAUDE_CONFIG_DIR": "/home/node/.claude"
}13. Диагностика и контроль безопасности
- Вход в браузере завершился, но терминал — нет: скопируйте код входа из браузера в терминал VPS; локальные callback часто недоступны через SSH и контейнеры.
- claude не найден: проверьте ~/.local/bin в PATH, запустите claude doctor и используйте абсолютный путь для неинтерактивного SSH.
- Remote Control требует аутентификацию подписки: проверьте ключи API, CLAUDE_CODE_OAUTH_TOKEN, setup-token, сторонних провайдеров, пользовательский базовый URL и политику организации, затем выполните полный /login.
- SSH работает, но Desktop не создает окружение: проверьте SFTP, MaxSessions, права домашнего каталога, noexec, диск, исходящий доступ и настройки прокси в удаленном settings.json.
- Задача исчезает после отключения: проверьте tmux, KillUserProcesses, перезапуск VPS, обновление учетных данных и замену помощника.
- Избегайте --dangerously-skip-permissions в продакшене; начните с Manual или Plan и выдавайте только нужные задаче разрешения.
- Если ваш компьютер должен выключиться, используйте Cloud Session или специально спроектированную серверную задачу и схему обновления учетных данных.