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

Команды через SSH, рабочий стол через VNC —
доступны оба способа

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

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

Выберите способ подключения под задачу

SSH для сборки, VNC для интерфейса

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

SSH: выполняйте команды на машине

Подходит для xcodebuild, запуска скриптов, просмотра журналов и управления артефактами сборки. Используйте Терминал в macOS, OpenSSH в Windows Terminal или SSH-клиент в Linux.

  • Проверьте порт SSH в сведениях об экземпляре. 22 — распространённое значение по умолчанию, но у вашего экземпляра может быть другой порт.
  • При первом подключении сверьте отпечаток ключа хоста. Убедившись, что подключаетесь к нужной машине, пройдите аутентификацию.
  • Настройте вход по открытому ключу. Храните закрытый ключ локально — не добавляйте его в репозиторий и не прикладывайте к заявке.
  • Длительные задачи запускайте в настроенной системе постоянных сессий или в исполнителе конвейера. Не рассчитывайте на то, что локальный терминал останется подключённым.
Примеры SSH и сборки

VNC: рабочий стол macOS

Подходит для настройки проекта, проверки симулятора и поиска проблем, заметных только в графическом интерфейсе. Используйте «Общий экран» в macOS или совместимый клиент, например RealVNC. Поддерживаемый способ аутентификации зависит от клиента и настроек экземпляра.

  • Укажите в клиенте IP-адрес экземпляра и порт VNC. Не используйте порт SSH для подключения к рабочему столу.
  • Используйте данные для входа на рабочий стол из сведений об экземпляре. Не предполагайте, что способ аутентификации совпадает с SSH.
  • Для начала попробуйте разрешение 1440 × 900, затем подберите его с учётом экрана и сети.
  • Если клиент поддерживает эту настройку, сначала попробуйте глубину цвета 16 бит. Повышайте качество, только если нужно оценить точность цветов.
Как настроить рабочий стол

VNC не заменяет подключение локальных USB-устройств. Тесты в симуляторе и удалённом рабочем столе можно планировать сразу. Если для тестов нужны внешние устройства, сначала уточните условия их подключения и лишь затем выбирайте вариант аренды.

От подключения до результатов тестов

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

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

metalvnc — tokyo-node — zsh
$ ssh -p "$SSH_PORT" "$MAC_USER@$MAC_IP"

The authenticity of host cannot be established.
ED25519 key fingerprint is displayed by your SSH client.
Are you sure you want to continue connecting (yes/no/[fingerprint])?
yes
Authenticated using publickey.

$ xcode-select -p
/Applications/Xcode.app/Contents/Developer

$ xcrun simctl list devices available
== Devices ==
Available simulators are listed by the installed runtime.

$ xcodebuild -scheme App -destination 'platform=iOS Simulator' test
Test Suite 'AppTests' started.
Executed 128 tests, with 0 failures.
** TEST SUCCEEDED **

$ fastlane beta
Build processing completed.
Upload completed successfully.
fastlane finished successfully.

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

128 успешных тестов и 0 ошибок в примере лишь показывают, как читать журнал. Фактическое число тестов, время выполнения и результат загрузки зависят от вашего проекта.

Отпечаток не совпадает? Сначала проверьте

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

Команда выполняется — но проект может быть не настроен

Перед тестированием проверьте путь к Xcode, среду выполнения симулятора, зависимости проекта и общую схему сборки. Для fastlane beta в проекте должны быть настроены соответствующий lane, материалы для подписи и учётные данные для загрузки. Это не универсальная команда загрузки для любого проекта.

Сравнивайте узлы по одним правилам

Сначала измерьте задержку, затем оцените плавность рабочего стола

Доступны узлы в Сингапуре, Токио, Сеуле и Гонконге. На отклик сильнее влияет маршрут от вашего города до узла, чем расстояние по карте. Результаты также различаются у разных операторов в одном городе.

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

Город источника × узел: медианная задержка ICMP туда и обратно, мс
Город, откуда проводится тестСингапурТокиоСеулГонконг
ШанхайНет замеровНет замеровНет замеровНет замеров
ШэньчжэньНет замеровНет замеровНет замеровНет замеров
ТайбэйНет замеровНет замеровНет замеровНет замеров
БангкокНет замеровНет замеровНет замеровНет замеров
СиднейНет замеровНет замеровНет замеровНет замеров
Лос-АнджелесНет замеровНет замеровНет замеровНет замеров
Единые условия замера: домашний интернет в часы вечерней нагрузки по пекинскому времени; по 100 запросов ICMP к каждому узлу. Для успешных ответов рассчитывается медианное время туда и обратно, отдельно фиксируются потери пакетов. В таблице указаны ожидающие замера данные, а не результаты завершённого измерения. Будущие результаты помогут сравнить варианты, но не являются гарантией задержки.

Проверяйте из своей сети, а не с удалённой машины

В macOS и Linux выполните команду ниже локально. В Windows используйте ping -n 100 и укажите целевой IP-адрес. Запишите оператора связи, время теста, число успешных ответов и исходный вывод. Для сравнения сохраняйте одинаковые сеть и условия.

ping -c 100 "$MAC_IP"

Смотрите не только на медиану, но и на джиттер и потери пакетов

Среднее значение в сводке ping — не медиана. Для расчёта медианы используйте время каждого ответа из исходного вывода. Постоянные потери пакетов или редкие скачки задержки могут вызывать рывки при работе с VNC, даже если медиана невысокая. Фильтрация ICMP сама по себе не означает, что SSH или VNC недоступны: отдельно проверьте порты подключения.

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

Меняйте по одному параметру

Оставьте трафик рабочего стола только для нужного изображения

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

  1. 01

    Уменьшите глубину цвета

    Если клиент позволяет, сначала выберите 16-битную глубину цвета или более низкое качество изображения — это сократит объём данных при каждом обновлении. Для просмотра макетов, цветов или скриншотов верните более высокое качество. Низкую глубину цвета не используйте для проверки точности цветопередачи.

  2. 02

    Отключите динамические обои

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

  3. 03

    Уменьшите разрешение

    Начните с 1440 × 900 и повышайте разрешение, только если редактор и окно тестирования плохо видны. Не повышайте разрешение удалённого рабочего стола только потому, что локальный монитор его поддерживает: больше пикселей — выше нагрузка на передачу и декодирование.

  4. 04

    При слабой сети используйте командную строку

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

После подключения сначала ограничьте доступ

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

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

Смените начальный пароль

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

Проверка: Откройте новое подключение и проверьте новые учётные данные. Закрывайте старое подключение, только убедившись, что вход работает.

Оставьте для SSH только вход по ключу

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

Проверка: Второй терминал подключается с указанным закрытым ключом независимо от старой сессии.

Открывайте только нужные порты

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

Проверка: Нужные порты доступны, ненужные закрыты.

Блокируйте рабочий стол, когда отходите

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

Проверка: Для повторного доступа к рабочему столу нужна аутентификация; в журналах и на скриншотах нет секретных данных.

Проверяйте подключение поэтапно

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

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

  1. 01

    Проверьте IP-адрес и экземпляр

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

  2. 02

    Проверьте протокол и порт

    В SSH-клиенте укажите порт SSH, а в клиенте VNC — порт рабочего стола. При тайм-ауте сначала проверьте сеть и правила доступа; при отказе в подключении — порт и работу службы. Доступность ping не означает, что доступен порт приложения.

  3. 03

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

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

  4. 04

    Проверьте настройки локальной сети

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

Не помогло? Создайте заявку с подробностями для воспроизведения

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

По вопросам о купленной машине создайте заявку в консоли, чтобы её можно было связать с экземпляром. По вопросам о маршрутах до покупки или совместимости клиентов напишите на адрес support@metalvnc.com.

Способ подключения выбран

Выберите ближайший к вам узел и запустите машину

Сравните объём памяти и хранилища в двух конфигурациях M4, затем выберите узел и срок оплаты. Сначала проверьте SSH и работу рабочего стола в своей сети, а затем планируйте постоянные задачи сборки. Доступность уточняйте в консоли в режиме реального времени.