Безопасное подключение и проверка инструментов

Подключение к облачному Mac через VNC и SSH

Проверьте состояние узла и отпечаток хоста, затем создайте графический или командный сеанс. В руководстве описаны первый вход, ключи, сборка Xcode, оптимизация и диагностика.

Адрес, имя пользователя и временные учётные данные выдаются только после проверки узла заказа. Доступность и параметры подключения определяет консоль в реальном времени.

Перед началом

Проверьте шесть условий подключения

Не начинайте с повторного ввода пароля. Проверьте узел, регион, учётные данные и локальную сеть — так проще отличить проблему выдачи от ошибки авторизации или сети.

Состояние узла

Войдите в консоль и убедитесь, что экземпляр доступен для подключения; запишите ID узла. Пока узел инициализируется, не сохраняйте неподтверждённый отпечаток хоста.

Подключайтесь после нормализации состояния

Регион узла

Сверьте регион заказа и экземпляра. Сейчас каталог охватывает Сингапур, Японию (Токио), Южную Корею (Сеул), Гонконг, восток и запад США.

Region / Node ID

Имя пользователя и временные учётные данные

Скопируйте имя пользователя из консоли полностью, учитывая регистр. После первого входа сразу смените временный пароль и настройте вход SSH по ключу.

Не пересылайте учётные данные обычной почтой

Локальная сеть

Сначала протестируйте подключение через стабильную проводную сеть или надёжный Wi‑Fi. Корпоративные прокси, гостевые сети и публичные точки доступа могут блокировать порты SSH или VNC.

Сначала исключите влияние VPN и прокси

Системный брандмауэр

Убедитесь, что локальный брандмауэр разрешает исходящие подключения клиента. При работе из офиса попросите администратора проверить правила для адреса и порта назначения.

SSH 22 / VNC 5900

Согласованность данных подключения

Сравните адрес хоста, порт, имя пользователя и регион. Конфигурацию клиента от старого узла нельзя напрямую использовать для нового выделенного физического узла.

Создайте отдельную конфигурацию для нового узла
Граница безопасности

Читайте параметры подключения только в консоли. Не помещайте закрытые ключи, полные пароли, токены доступа или необезличенные логи сборки в обычные документы и репозитории.

Графический интерфейс

Первое графическое подключение через VNC

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

  1. 01

    Укажите адрес и порт из консоли

    Создайте подключение в VNC-клиенте и посимвольно скопируйте адрес хоста. Если консоль указала нестандартный порт, используйте его — не угадывайте и не применяйте параметры старого экземпляра.

    Проверка: Метка региона в настройках клиента должна совпадать с регионом заказа.
  2. 02

    Пройдите аутентификацию с именем пользователя узла

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

    Проверка: Убедитесь, что перед учётными данными и после них нет пробелов или переносов строк.
  3. 03

    Настройте качество изображения под канал

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

    Рекомендуемые начальные параметры: 1920 × 1080, масштаб 100%, динамическое качество включено.
  4. 04

    Сначала проверьте буфер обмена без конфиденциальных данных

    Скопируйте обычный текст и проверьте двустороннюю синхронизацию локального и удалённого буфера обмена. Не используйте для теста пароли, закрытые ключи или токены доступа.

    Ограничение: В общей командной среде отключайте синхронизацию буфера обмена при необходимости.
  5. 05

    Завершите сеанс, не прерывая задачу

    Перед закрытием окна убедитесь, что сборка не выполняется на переднем плане. Длительные задачи передавайте CI runner, launchd или менеджеру терминальных сеансов, чтобы разрыв VNC не завершил процесс.

    Проверка: После выхода убедитесь в консоли, что узел продолжает работать нормально.
Доступ из командной строки

Создайте контролируемую точку входа через SSH

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

При несовпадении отпечатка немедленно остановитесь

Не удаляйте локальную запись и не продолжайте подключение. Сначала выясните, не переустанавливался ли узел, не был ли перераспределён и не изменился ли адрес; затем проверьте это через обращение в консоли.

01

Проверьте отпечаток хоста

При первом подключении посимвольно сравните отпечаток в терминале с данными консоли. Если адрес узла тот же, а отпечаток изменился, рассматривайте это как инцидент безопасности и не игнорируйте предупреждение.

02

Используйте вход по ключу

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

03

Ограничьте права на файлы и команды

Разрешите чтение файла закрытого ключа только текущему пользователю. CI выдавайте права лишь на необходимые каталоги и команды; права администратора не должны быть режимом по умолчанию.

04

Обновите временный пароль

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

Создайте отдельный ключ SSH

ssh-keygen -t ed25519 -a 64 -f ~/.ssh/hexvm_node
chmod 600 ~/.ssh/hexvm_node
ssh-add ~/.ssh/hexvm_node

Создавайте отдельные ключи для участников, CI runner и временных задач сопровождения — их можно отзывать независимо.

Создайте первое подключение

ssh-keyscan -p "$NODE_PORT" "$NODE_HOST"
ssh -i ~/.ssh/hexvm_node \
  -p "$NODE_PORT" "$NODE_USER@$NODE_HOST"

Сначала проверьте отпечаток в выводе, затем примите запись хоста. Копируйте значения переменных из консоли; не добавляйте реальные учётные данные в скрипт.

Проверка инструментов разработки

От входа по SSH до успешного архива

После подключения проверьте среду запросом версий, тестовой сборкой и командой архивации. Сначала выполните небольшую проверку, затем подключайте полный конвейер.

hexvm-node — zsh — 120 × 34 SSH
$ssh -i ~/.ssh/hexvm_node "$NODE_USER@$NODE_HOST"
Authenticated with public key.
Last login: current session from approved network
$sw_vers && xcodebuild -version
ProductName: macOS
Xcode 16.x
$xcodebuild test -scheme MobileApp -destination 'platform=macOS'
** TEST SUCCEEDED **
$bundle exec fastlane archive
Resolving signing settings...
Exporting archive artifact...
Archive completed successfully

Сначала проверьте версии

Запишите версии macOS, Xcode и инструментов командной строки; интерактивный терминал и CI runner должны использовать один набор инструментов.

Затем выполните минимальный тест

Сначала запустите одну схему или цель тестирования, исключите проблемы зависимостей, подписи и переменных среды, а затем переходите ко всему рабочему пространству.

В конце подключите архивацию

После успешной архивации проверьте путь к артефакту, права доступа и правила обезличивания логов, затем перенесите команду в автоматизированный конвейер.

Ориентиры по задержке сети

Медианная задержка туда и обратно для шести регионов узлов

Данные ниже предназначены для первичного выбора региона и не являются фиксированным результатом для каждой сети. Перед окончательным выбором повторите тест из рабочей сети и точки выхода CI.

Период тестирования 14:00–16:00 по местному времени в рабочие дни
Условия сети Местный проводной интернет, VPN и прокси отключены
Методика Медиана 20 ICMP-проверок туда и обратно для каждого маршрута
Единица измерения мс
Медианная задержка от основных тестовых точек клиентов до шести регионов узлов HexVM
Точка тестирования клиента Сингапур Япония (Токио) Южная Корея (Сеул) Гонконг Восток США Запад США
Фиксированный интернет в Пекине 78 мс 54 мс 47 мс 42 мс 198 мс 146 мс
Фиксированный интернет в Шанхае 69 мс 41 мс 49 мс 35 мс 190 мс 132 мс
Фиксированный интернет в Тайбэе 48 мс 32 мс 43 мс 24 мс 181 мс 112 мс
Фиксированный интернет в Маниле 39 мс 71 мс 76 мс 36 мс 214 мс 139 мс
Фиксированный интернет в Лос-Анджелесе 177 мс 104 мс 119 мс 151 мс 68 мс 21 мс
Фиксированный интернет в Нью-Йорке 231 мс 168 мс 181 мс 205 мс 19 мс 73 мс
< 60 мс

Подходит для постоянной работы с графикой

Ввод с клавиатуры, переключение окон и обычные операции в Xcode обычно выполняются плавно, но всё равно следите за потерями пакетов и джиттером.

60–140 мс

Подходит для сборок и лёгкого интерактивного доступа

После снижения качества графика можно работать с интерфейсом; сборки из командной строки, просмотр логов и задачи CI обычно не страдают заметно.

> 140 мс

Отдавайте приоритет командной строке и автоматизации

Для межконтинентальных соединений передавайте длительные задачи SSH, CI runner и фоновым процессам, а VNC используйте только для необходимых проверок.

Фактическая задержка зависит от местного оператора, международного шлюза, изменений маршрутизации, офисного прокси, качества Wi‑Fi и нагрузки в то же время. Доступность комбинаций из каталога подтверждается консолью в реальном времени.

Оптимизация работы

Сделайте удалённый сеанс стабильным, а не просто максимально качественным

Разделяйте интерактивные задачи, длительные процессы и передачу больших файлов, чтобы сетевые колебания меньше влияли на сборки.

01

Начните с базового разрешения одного экрана

Сначала используйте один экран 1920 × 1080 для стабильной базовой настройки. При высокой задержке не включайте сразу два экрана, большое масштабирование и частые динамические изменения.

  • Если текст слишком мелкий, сначала измените системный масштаб, а не повышайте разрешение.
  • В мобильной сети используйте фиксированный размер окна, чтобы уменьшить повторную перерисовку.
02

Выбирайте качество цвета по характеристикам канала

Для редактирования кода, логов сборки и настройки не нужна максимальная точность цвета. При нестабильном канале сначала уменьшите глубину цвета и качество изображения, затем оцените задержку ввода.

  • Для дизайна и видео временно повышайте качество изображения.
  • Для обычной разработки используйте адаптивное сжатие и статичный фон.
03

Отключите ненужную передачу аудио и видео

Удалённая разработка сосредоточена на коде, терминале и состоянии сборки. Отключение неиспользуемого звука, перенаправления камеры и анимации снижает нагрузку на канал.

  • Не воспроизводите видео с высоким битрейтом в сеансе VNC.
  • Отключите лишние эффекты рабочего стола и постоянно обновляемые окна мониторинга.
04

Вынесите длительные задачи из интерактивного сеанса

Длительные сборки, тесты и загрузку зависимостей запускайте в отдельном терминальном сеансе, CI runner или системной задаче. Разрыв VNC или SSH не должен завершать процесс.

  • Записывайте задачу в отдельный лог и сохраняйте код завершения.
  • После повторного подключения сначала проверьте состояние процесса, не запускайте ту же сборку повторно.
05

Передавайте большие файлы с возможностью продолжения

Для репозиториев, кэшей и артефактов сборки используйте передачу с инкрементами и проверкой. Не переносите большие файлы через графический буфер обмена и не размещайте конфиденциальные артефакты публично.

  • Перед передачей архивируйте множество мелких файлов, чтобы сократить число обращений.
  • После завершения проверьте размер файла, хеш и права доступа.
06

Храните кэш в правильном месте

Изолируйте кэш зависимостей и DerivedData по проекту, ветке или версии инструментов. При падении доли попаданий сначала анализируйте ключ кэша, а не бесконечно увеличивайте расход диска.

  • Регулярно удаляйте недействительные кэши и старые архивы.
  • При нехватке места сначала найдите самые большие каталоги, затем удаляйте данные.
Диагностика

Сужайте область проблемы по симптомам

Меняйте за раз только одну переменную и записывайте ID узла, регион, время, а также полный текст ошибки. Так можно определить, где проблема: локально, в сети, авторизации или на стороне узла.

Тайм-аут подключения: клиент долго не отвечает
  1. Убедитесь в консоли, что состояние узла и адрес подключения не изменились.
  2. Проверьте порт, временно отключите локальный VPN или прокси и повторите тест.
  3. Проверьте подключение через домашнюю сеть и мобильную точку доступа, чтобы понять, ограничивает ли офисная сеть исходящие соединения.
  4. Запишите время тайм-аута, регион, сеть клиента и целевой порт, затем создайте обращение в консоли.
Ошибка аутентификации: имя пользователя, пароль или ключ отклонены
  1. Заново скопируйте имя пользователя из консоли, проверьте регистр и пробелы в начале и конце.
  2. Убедитесь, что используете учётные данные текущего узла, а не пароль или ключ старого экземпляра.
  3. При ошибке ключа SSH проверьте путь к закрытому ключу, права файла и наличие соответствующего открытого ключа.
  4. После нескольких неудач прекратите попытки и запросите проверку через обращение в консоли; не отправляйте полные учётные данные по почте.
Изображение тормозит: подключение есть, но ввод заметно запаздывает
  1. Перейдите на один экран 1920 × 1080; отключите высокое качество цвета и передачу аудио и видео.
  2. Проверьте сигнал локального Wi‑Fi, потери пакетов и фоновые загрузки; по возможности перейдите на проводную сеть.
  3. Сравните отклик VNC и SSH; если SSH работает нормально, сначала настройте кодирование графики и параметры отображения.
  4. При межконтинентальном подключении отправьте длительную сборку в фон, а через VNC проверяйте только важные окна.
Изменился отпечаток хоста: SSH показывает предупреждение об идентичности
  1. Немедленно прекратите подключение; не используйте команды, пропускающие проверку.
  2. Проверьте, не был ли узел перераспределён или переустановлен и не взят ли адрес из старой конфигурации.
  3. Заново получите текущий отпечаток в консоли и посимвольно сравните его.
  4. Если причину установить не удаётся, создайте обращение в консоли и приложите ID узла, регион и обезличенный текст предупреждения.
Порт недоступен: сетевой тест сразу возвращает отказ
  1. Убедитесь, что протокол соответствует порту; не вводите порт SSH в VNC-клиент.
  2. Проверьте локальный брандмауэр, правила корпоративного шлюза и исходящие правила защитного ПО.
  3. Проверьте тот же адрес и порт через другую независимую сеть, чтобы определить проблему маршрута конкретного оператора.
  4. Если порт недоступен из нескольких сетей, создайте обращение в консоли и укажите результаты тестов и масштаб проблемы.

Подготовьте эти сведения перед обращением

ID узла Регион узла Время возникновения проблемы Тип локальной сети Клиент и версия Полные шаги воспроизведения Обезличенные логи ошибок Масштаб влияния

Не отправляйте закрытые ключи, полные пароли, токены доступа или логи с конфиденциальными материалами подписи. Если нужна дополнительная помощь, создайте обращение в консоли или напишите на support@hexvm.com.

Выделенный узел Apple Silicon

Выберите выделенный Mac и начните подключение примерно за 4 минуты

Каждый заказ соответствует отдельному физическому узлу Mac mini, а не виртуальной машине. Сингапур, Япония (Токио), Южная Корея (Сеул), Гонконг, восток и запад США доступны 365 дней в году.

Все цены указаны в долларах США (USD). Фактическая доступность узлов и регионов отображается в консоли в реальном времени.