Как подключить Codex на Windows к своему VPS по SSH
Вы пишете задание на Windows.
Codex выполняет его на вашем сервере.
Пройдём весь путь: войдём на Debian, подготовим Codex, создадим отдельный SSH-ключ и отправим первое задание в удалённый проект.
Что потребуется
Подготовьте компьютер с Windows, настольное приложение ChatGPT с режимом Codex и вкладкой SSH, VPS с Debian, адрес VPS, имя пользователя и действующий SSH-порт. Задание вы пишете в чате удалённого проекта в приложении Windows. Агент выполняет команды на подключённом VPS и возвращает результат в этот чат.
Здесь все адреса и примеры вывода условные. Заменяйте ПОРТ действующим SSH-портом, а IP_СЕРВЕРА — адресом своего VPS. Названия пунктов приложения могут немного отличаться между версиями.
Первый вход из Windows
Откройте PowerShell и проверьте, установлен ли SSH-клиент:
ssh -VОжидается строка с версией OpenSSH. Если команда не найдена, включите компонент «Клиент OpenSSH» в дополнительных компонентах Windows. Затем подключитесь:
ssh -p ПОРТ root@IP_СЕРВЕРАПри первом соединении сверьте отпечаток ключа сервера с доверенным источником: например, через консоль VPS у провайдера. Только после совпадения подтвердите соединение словом yes. При вводе пароля символы и звёздочки не отображаются — это нормально.
Проверка и установка Codex на VPS
В окне с открытым SSH-сеансом выполните:
whoami
command -v codex
codex --versionДля этого примера whoami возвращает root. Следующие команды должны показать путь к Codex и его версию. Если Codex уже установлен и работает, пропустите установку. Если видите codex: command not found, используйте способ, которым мы воспользовались:
apt update
apt install -y curl ca-certificates
curl -fsSL https://chatgpt.com/codex/install.sh | sh
export PATH="$HOME/.local/bin:$PATH"
codex --versionКоманда скачивает и запускает официальный установщик. export добавляет папку в PATH только для текущего сеанса. Если после повторного входа команда снова не находится, повторите этот export и проверьте настройку PATH в профиле оболочки.
Вход в аккаунт на VPS
codex login --device-authОткройте выданный командой адрес в браузере на своём компьютере. Войдите в аккаунт ChatGPT, введите выданный одноразовый код и вернитесь в терминал. Никому не отправляйте этот код. Затем проверьте вход:
codex login statusОжидаемый ответ в нашем случае: Logged in using ChatGPT. Если вход по коду недоступен, проверьте, разрешена ли device code authentication в настройках безопасности аккаунта или рабочей области.
Отдельный SSH-ключ на Windows
Оставьте первое окно с терминалом VPS открытым. Откройте ВТОРОЕ окно PowerShell на Windows. Убедитесь, что видите приглашение вида PS C:\…>, и выполните именно в нём:
New-Item -ItemType Directory -Force "$env:USERPROFILE\.ssh" | Out-Null
ssh-keygen -t ed25519 -f "$env:USERPROFILE\.ssh\codex_vps" -C "codex-windows"SSH попросит парольную фразу и её повтор. Она защищает закрытый ключ. В нашем примере для автоматического входа нажали Enter дважды и оставили её пустой; тогда доступ к файлу ключа позволяет использовать его без этой дополнительной защиты.
Создаются два файла: codex_vps — закрытый ключ, остаётся на Windows; codex_vps.pub — открытый ключ, его добавляем на сервер. Закрытый ключ не вставляйте в чат и не загружайте на VPS.
Добавление открытого ключа на Debian
Во втором окне Windows покажите открытый ключ:
Get-Content "$env:USERPROFILE\.ssh\codex_vps.pub"Скопируйте одну строку целиком. Переключитесь в первое окно, где всё ещё открыт SSH-сеанс VPS под root:
mkdir -p /root/.ssh
chmod 700 /root/.ssh
cat >> /root/.ssh/authorized_keysПосле последней команды терминал ждёт ввод. Вставьте скопированную строку открытого ключа, нажмите Enter, затем Ctrl+D. Когда вернётся приглашение сервера, выполните:
chmod 600 /root/.ssh/authorized_keysПроверка входа по ключу
Во втором окне PowerShell на Windows выполните:
ssh -o IdentitiesOnly=yes -i "$env:USERPROFILE\.ssh\codex_vps" -p ПОРТ root@IP_СЕРВЕРАОжидаемый результат — приглашение сервера без запроса пароля пользователя root. Если ключ защищён парольной фразой, SSH может отдельно запросить её. После подключения это окно тоже выполняет команды на Debian; чтобы вернуть его на Windows, выполните exit.
Подключение в графическом приложении
Переключитесь в Codex и откройте Настройки → Подключения → SSH → Добавить. Если список пуст и написано «SSH-подключения не найдены», выберите «Добавить вручную».
| Поле | Что указать |
|---|---|
| Отображаемое имя | Любое понятное название, например «Мой VPS» |
| Имя хоста | root@IP_СЕРВЕРА |
| Порт SSH | Тот же порт, который сработал в PowerShell |
| Идентификатор | Полный путь к закрытому ключу codex_vps, без .pub |
Чтобы узнать полный путь, в PowerShell Windows, вне SSH-сеанса, выполните:
Write-Output "$env:USERPROFILE\.ssh\codex_vps"Выберите файл или укажите полученный путь и нажмите «Сохранить». Ориентир успешного подключения — зелёная точка и статус «Подключено».
Создание удалённого проекта
В терминале VPS создайте рабочую папку:
mkdir -p /root/server-adminВ приложении Windows нажмите значок папки с плюсом справа от SSH-подключения. Выберите /root/server-admin, назовите проект «Управление VPS» и нажмите «Создать проект».
Когда появится «Доверять этой папке?», сверьте сервер и путь. В нашем примере папку только что создал сам пользователь, поэтому выбрали «Доверять папке».
Где писать первый промт
Вернитесь в основное окно приложения. Слева в разделе «Проекты» откройте свой удалённый проект «Управление VPS», затем откройте в нём чат. Вставьте туда проверочное задание:
Выполни hostname, whoami, pwd, cat /etc/os-release, uptime, free -h и df -h /. Кратко сообщи имя сервера, пользователя, рабочую папку, версию ОС, нагрузку, доступную память и место на диске. Ничего не изменяй и не устанавливай. Не читай пароли, токены и приватные ключиПодключение работает, если имя узла в ответе совпадает с именем в SSH-терминале, рабочая папка — /root/server-admin, а результаты появились в чате Windows. Для сверки имени выполните в SSH-терминале:
hostnameЕсли застряли
codex: command not found
Проверьте, что вы в терминале Debian. Если установка ещё не выполнена, вернитесь к шагу 3. Если выполнена — повторите export из шага 3: PATH мог не сохраниться в новом сеансе.
SSH всё ещё просит пароль
Отличайте пароль root от парольной фразы ключа. Проверьте пользователя, адрес, порт и путь после -i. На сервер добавляется одна полная строка из .pub, а на Windows используется файл без .pub. Проверьте права 700 у /root/.ssh и 600 у authorized_keys. Не закрывайте работающий SSH-сеанс и не меняйте настройки SSH наугад.
Приложение не нашло подключений
Пустой список не означает, что VPS недоступен. Выберите «Добавить вручную» и заполните поля шага 8, используя параметры уже проверенного входа PowerShell.
Непонятно, где писать промт
Выйдите из настроек в основное окно. Слева откройте «Проекты» → «Управление VPS», затем чат внутри проекта. Поле ввода находится в чате, а не на странице SSH-подключений.