Инструкция · начните с данных для подключения

Три способа подключиться к Mac mini

Сначала проверьте подключение к командной строке по SSH, затем откройте рабочий стол через VNC. Чтобы не открывать VNC в интернете, подключите его через SSH-туннель. Вы арендуете выделенную физическую машину, а не виртуальную. Точный адрес, порт и учётные данные указаны в панели управления.

Ещё нет машины? Сначала выберите модель и узел. Уже оформили заказ? Войдите в панель управления, найдите данные для подключения к экземпляру и начните с первого шага ниже.

Данные для подключенияSSH → VNC → CI

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

Адрес хоста
Адрес в данных экземпляра
Порт SSH
Порт в данных экземпляра
Учётная запись
Выданное вам имя пользователя
Подключение к рабочему столу
Адрес и данные для входа в VNC
Сначала проверьте SSHЗатем настройте рабочий стол и сборку
01 / Командная строка

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

SSH — это защищённое подключение к командной строке. На macOS и Linux команды можно выполнять в терминале, а в Windows — в PowerShell. Замените адрес, порт и имя пользователя в примерах значениями из панели управления.

Порядок первого входа

  1. 01Сверьте экземпляр и порт. Убедитесь в панели управления, что машина уже предоставлена, затем скопируйте адрес SSH, порт и имя пользователя. При первом появлении отпечатка хоста сверьте его с данными подключения.
  2. 02Подготовьте открытый ключ. Создайте пару ключей Ed25519 на своём компьютере. Закрытый ключ оставьте локально, а открытый — строку, начинающуюся с ssh-ed25519, — добавьте в файл удалённой учётной записи ~/.ssh/authorized_keys.
  3. 03Проверьте вход в новом терминале. Не закрывая первое подключение, откройте второй терминал и убедитесь, что вход по открытому ключу работает. Только после этого отключайте вход по паролю для этой учётной записи согласно своей политике безопасности.
Терминал на вашем компьютереЗамените значения в угловых скобках на выданные данные
ssh -p <SSH-порт> <имя-пользователя>@<адрес-хоста>

ssh-keygen -t ed25519 -C "cloud-mac"
cat ~/.ssh/id_ed25519.pub

ssh -i ~/.ssh/id_ed25519 \
  -p <SSH-порт> <имя-пользователя>@<адрес-хоста>

Если у вас уже есть ключи, сначала проверьте имена файлов, чтобы не перезаписать закрытый ключ. Скопируйте открытый ключ целиком, одной строкой. Для удалённых каталогов ~/.ssh и authorized_keys задайте права 700 и 600 соответственно.

02 / Графический рабочий стол

Откройте VNC, если нужен графический интерфейс Xcode

VNC передаёт изображение рабочего стола Mac на ваш компьютер и позволяет им управлять. Сначала уточните в панели управления адрес, порт и способ аутентификации для рабочего стола: они могут отличаться от параметров SSH.

Подключение с macOS

Используйте встроенную функцию «Общий экран»

Откройте «Общий экран» и введите выданные адрес VNC и порт. Если вы уже настроили SSH-туннель по инструкции ниже, укажите локальный адрес и порт. Для входа используйте выданные данные, а не закрытый ключ SSH.

Подходит для работы с Xcode, Simulator и системными настройками.

Подключение с Windows или Linux

Укажите параметры в VNC-клиенте

Введите в клиенте хост, порт и выданные данные для входа. Если клиент принимает только один адрес, укажите его в формате «хост:порт» согласно инструкции. Лучше подключаться через SSH-туннель, указав адрес обратной петли на своём компьютере.

Выберите протокол VNC. Не используйте порт SSH для рабочего стола.

Подвисает изображение? Измените два параметра

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

03 / Защищённое подключение

Перенаправьте VNC через SSH-туннель

SSH-туннель защищённо перенаправляет локальный порт вашего компьютера на порт удалённого рабочего стола. Клиент подключается только к вашему компьютеру, поэтому открывать VNC в интернете не нужно. Перед запуском убедитесь, что выданные параметры позволяют подключаться таким способом.

Настройте перенаправление за три шага

  1. 01Проверьте порты. Отдельно сверьте порт SSH и удалённый порт VNC. В примере 5901 — свободный порт, выбранный на вашем компьютере; это не означает, что сервер использует именно его.
  2. 02Не закрывайте туннель. Выполните команду перенаправления в локальном терминале и оставьте его открытым. Параметр -N создаёт только перенаправление и не запускает команду на удалённой машине.
  3. 03Подключитесь локально. В приложении «Общий экран» или VNC-клиенте укажите 127.0.0.1:5901. Закончив работу, отключитесь от клиента и закройте терминал с туннелем.
Терминал на вашем компьютереУдалённый порт указан в данных подключения
ssh -N \
  -L 127.0.0.1:5901:127.0.0.1:<удалённый-VNC-порт> \
  -p <SSH-порт> \
  <имя-пользователя>@<адрес-хоста>

Если порт 5901 уже занят на вашем компьютере, измените только первый порт в параметре -L и укажите этот же новый порт в VNC-клиенте. Не меняйте удалённый порт, чтобы устранить конфликт локального порта.

04 / Автоматизация сборки

Зарегистрируйте Mac как self-hosted runner

Self-hosted runner — это исполнитель CI-задач, установленный на вашей машине. Подключитесь по SSH и убедитесь, что доступны инструменты командной строки Xcode. Затем создайте учётные данные для регистрации в настройках CI-проекта. Не сохраняйте одноразовый токен в репозитории или журналах сборки.

GitHub Actions

Добавьте машину в репозиторий или организацию

В настройках runner проекта выберите исполнитель macOS и зарегистрируйте его на облачном Mac, выполнив актуальные команды установки и настройки со страницы. Назначьте понятные метки, указывающие на модель, узел и назначение, например macos, m4, ios-build. Метки в runs-on рабочего процесса должны совпадать с фактическими.

После регистрации запустите тестовую задачу только с командой xcodebuild -version, а затем подключайте полноценную сборку.

GitLab Runner

Добавьте исполнитель в настройках проекта

Откройте актуальные инструкции по регистрации для проекта, установите на облачный Mac подходящую версию runner и выберите shell-исполнение согласно требованиям проекта. Добавьте понятные метки узла и сборки. Проверьте, разрешено ли выполнять защищённые задачи на этом runner, затем запустите тестовый pipeline.

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

Перед автозапуском проверьте работу после перезагрузки

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

05 / Выбор узла

Для комфортной удалённой работы важнее всего расстояние

Доступны четыре узла: Сингапур, Токио (Япония), Сеул (Южная Корея) и Гонконг. Выберите узел поближе к тем, кто будет работать за машиной, и проверьте отклик SSH и работу рабочего стола из своей обычной сети. На результат также влияют международные маршруты, потеря пакетов и локальная сеть — по одному только названию города задержку не определить.

Как выбрать один из четырёх узлов
УзелДля каких команд удобенЧто проверить при подключении
СингапурКоманды разработки и сборки в Юго-Восточной АзииФактическую задержку между офисной сетью и узлом
Токио (Япония)Команды разработки в Японии и соседних регионахСтабильность работы с рабочим столом и передачи артефактов сборки
Сеул (Южная Корея)Команды разработки в Корее и Северо-Восточной АзииПотери пакетов в часы пик
ГонконгКоманды, работающие вместе из Южного Китая и Юго-Восточной АзииМаршрут подключения для каждого участника команды

Обе модели доступны во всех четырёх узлах. Фактическое наличие при оформлении заказа проверяйте в панели управления. Если команда работает из разных мест, выбирайте узел в первую очередь для тех, кто регулярно пользуется рабочим столом; для CI также учитывайте маршрут передачи исходного кода и артефактов.

06 / Несколько машин

Нужны несколько машин? Рассмотрите объединение через Thunderbolt 5

Объединение через Thunderbolt 5 подойдёт для сборок, которым нужно координировать несколько машин в одном узле, или для рабочих процессов с частым обменом большими файлами. Дополнительная опция оплачивается за каждую машину: $1/день. Решение зависит от объёма передачи данных и потребности в параллельном выполнении — для подключения по VNC или работы CI на одной машине это не требуется.

Подходит, если

Задачи можно распределить между машинами

Например, выполнять сборки разных App target, тестовые наборы или сборки нескольких версий на отдельных runner. Назначьте каждой машине свои метки, чтобы задача не попала на узел без нужных инструментов.

Сначала измерьте время на одной машине, затем оцените выигрыш от параллельной работы.

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

Окупит ли ускорение передачи настройку

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

Для взаимодействия между узлами одного локального соединения недостаточно.

07 / Устранение проблем

Не удаётся подключиться? Ищите причину по симптомам

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

VNC подключился, но экран чёрный

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

Изображение слишком маленькое, обрезано или имеет неверное разрешение

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

Символы на клавиатуре или сочетания клавиш не совпадают

Проверьте, совпадают ли раскладки клавиатуры на вашем компьютере и удалённой машине. Особое внимание уделите знакам препинания, клавишам Option и Command. Проверьте настройки клавиш-модификаторов в клиенте: сначала наберите несколько символов в текстовом редакторе и только потом вводите команды или меняйте параметры подписи.

Как восстановить работу после обрыва сеанса?

Снова подключитесь по SSH. Если используется туннель, повторно запустите команду перенаправления, а затем подключитесь к локальному порту VNC. По возможности запускайте сборки в фоновом runner, а не в терминале рабочего стола, который должен оставаться подключённым. Если не удаётся восстановить ни SSH, ни VNC, создайте обращение через панель управления, указав номер заказа, номер узла и приложив снимок экрана с ошибкой.

Можно начинать

Арендуйте на день и проверьте подключение и сборку

Начните с небольшой задачи по SSH и убедитесь, что рабочий стол и CI подходят для ваших целей. После этого решите, продлевать ли аренду или добавить машину. Нужно разобраться с уже работающим экземпляром? Войдите в панель управления и создайте обращение.