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 ログイン、画像、入力、再接続が含まれますが、あらゆる設定の保証ではありません。