rdp-cli

Как исправить ошибки аутентификации Mac VNC в rdp-cli

Ошибка аутентификации не всегда означает неверный пароль. Общий экран macOS различает учётную запись Mac и отдельный VNC-пароль. rdp-cli 0.1.1 поддерживает Apple ARD и RFB 003.889.

Проверьте Mac и клиент

В разделе общего доступа системных настроек удалённого Mac проверьте общий экран и разрешённых пользователей. Если используется удалённое управление, сначала проверьте его права, не переключая службы вслепую. См. инструкцию Apple. Установите 0.1.1 или новее и проверьте наличие ard в connect --help.

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

Учётная запись Mac: имя и пароль входа на удалённом Mac с --user MAC_USER --vnc-security ard. Это не вход в Apple Account.

Отдельный VNC-пароль: пароль для VNC-клиентов, без --user, с --vnc-security vnc-auth. Классический предел восемь байт не относится к ARD: имя и пароль допускают до 63 байт UTF-8 каждый.

Подключение с учётной записью Mac

Замените 192.0.2.20 и MAC_USER. В Bash на macOS/Linux:

IFS= read -r -s -p 'Password: ' mac_password
printf '\n'
printf '%s' "$mac_password" | rdp-cli connect --protocol vnc --host 192.0.2.20 --user MAC_USER --vnc-security ard --password-stdin
unset mac_password

В Windows откройте PowerShell в каталоге EXE:

$secret = Read-Host 'Password' -AsSecureString
$savedEncoding = $OutputEncoding
try {
  $OutputEncoding = [System.Text.UTF8Encoding]::new($false)
  [System.Net.NetworkCredential]::new('', $secret).Password |
    .\rdp-cli.exe connect --protocol vnc --host 192.0.2.20 --user MAC_USER --vnc-security ard --password-stdin
} finally {
  $OutputEncoding = $savedEncoding
  $secret.Dispose()
}

Для отдельного VNC-пароля оставьте блок ввода, уберите --user MAC_USER и замените ard на vnc-auth. После ошибки не меняйте способ входа или сервер автоматически.

Проверьте результат

Проверьте ok и data.session, заменив SESSION полученным ID. Убедитесь, что изображение относится к нужному Mac. Ввод проверяйте в тестовом документе по свежему снимку, затем сверяйте текст.

В Windows для следующих команд используйте .\rdp-cli.exe в каталоге EXE или настоящий абсолютный путь.

rdp-cli status --session SESSION
rdp-cli screenshot --session SESSION --out before.png
rdp-cli watch --session SESSION --viewer window
rdp-cli watch --session SESSION --viewer web

Если ошибка остаётся

Симптом Проверка
Пароль Mac отклонён без имени Используйте --user и ard.
Отдельный VNC-пароль отклонён Используйте vnc-auth без --user.
Старый клиент не поддерживает Apple Проверьте, что запущена версия 0.1.1 или новее.
Тайм-аут до входа Проверьте адрес, службу и TCP-порт, обычно 5900.
Верная учётная запись отклонена Проверьте разрешённых пользователей, имя и текст ошибки.

ARD защищает обмен учётными данными, но не шифрует экран. Используйте доверенную LAN/VPN. VNC не предоставляет диск обмена RDP, звук и перенаправление микрофона. Приёмка 0.1.1 покрывает вход на Mac, снимки, ввод и переподключение, но не все политики и конфигурации.

Команды VNC