rdp-cli

rdp-cli の Mac VNC 認証エラーを解決する

認証エラーはパスワードの誤りとは限りません。macOS の画面共有には Mac アカウントと専用 VNC パスワードがあり、方式を合わせる必要があります。rdp-cli 0.1.1 は Apple ARD と RFB 003.889 に対応しています。

Mac とクライアントを確認

接続先 Mac のシステム設定(旧版はシステム環境設定)で共有を開き、画面共有と許可ユーザーを確認します。リモート管理が既に使われている場合は、その権限を確認し、安易に切り替えません。Apple の説明も参照してください。クライアントは 0.1.1 以降を導入し、connect --help に ard があることを確認します。

どちらのパスワードか確認

Mac アカウント:接続先 Mac のユーザー名とログインパスワードを --user MAC_USER --vnc-security ard で指定します。Apple Account のログインではありません。

専用 VNC パスワード:VNC ビューアー用のパスワードを使用。--user を付けず、--vnc-security vnc-auth を指定します。従来方式の 8 バイト制限は ARD に適用されません。ARD のユーザー名とパスワードはそれぞれ最大 63 UTF-8 バイトです。

Mac アカウントで接続

192.0.2.20 と MAC_USER を置き換え、macOS/Linux の Bash で実行:

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 は EXE のフォルダーで PowerShell を使用:

$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 コマンドでは EXE のフォルダーで .\rdp-cli.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 パスワードが拒否 --user を除き vnc-auth を使用。
古い版で Apple プロトコル未対応 実行中の版が 0.1.1 以降か確認。
認証前にタイムアウト アドレス、共有サービス、通常 TCP 5900 を確認。
正しいアカウントでも拒否 許可ユーザーとユーザー名、返されたエラーを確認。

ARD は認証情報交換を保護しますが画面通信は暗号化しません。信頼できる LAN/VPN を使います。VNC は RDP 交換ドライブ・音声・マイク転送を提供しません。0.1.1 の検証には Mac ログイン、画像、入力、再接続が含まれますが、あらゆる設定の保証ではありません。

VNC 操作ガイド