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, снимки, ввод и переподключение, но не все политики и конфигурации.