Fix Remote Desktop’s “Authentication Failed” error—remotely!
One of the most frustrating things about Apple Remote Desktop is the “authentication failed” errors that pop up from time to time. You’ve got your user name and password right, but for some reason, the client machine just won’t recognize you.
I got the dreaded “authentication failed” error after upgrading one client machine to version 3.2.2, and so I patched together a solution that allows you to solve the problem remotely, using our good friend SSH. It’s all Terminal window commands, but it’s straightforward enough that most users should be comfortable doing it.
Step 1: SSH to the uncooperative client.
You can do this via local IP address:
$ ssh [admin username]@[client machine IP address]
Or over Bonjour if a) you don’t know the IP, or b) your router assigns IPs dynamically.
$ ssh [admin username]@[client machine name].local
If you’ve never connected with SSH before, you’ll have to type “yes” before you enter your admin user password when the “Password” prompt comes up.
My machines are all named after deadly sins, so when I do this, it looks like the screenshot below. “Lust” is the computer I’m using, “Wrath” is the remote machine that’s giving me the “authentication failed” error when I try to connect to it using Remote Desktop.

Notice how the computer name listed before “cosmo” has now changed from “Lust” to “Wrath”. Be sure that when you enter any Terminal commands described on this page other than ssh, you’re entering them on the remote machine, not the machine you’re running ARD from. If you don’t pay attention, you could end up deleting a bunch of files that are working just fine.
Step 2: Kill ARD on the remote machine. Once you’re connected to the client, type the command top. This opens activity monitor, listing all the processes currently running on the remote machine. Note the process ID numbers of “ARDAgent” and “AppleVNCServer”, along with ‘ARDHelper” if it shows up.

Once you’ve identified those numbers, open a new Terminal window, SSH to the remote machine again, and then force quit these process by typing kill followed by their process ID number (“PID”).
$ kill 234
$ kill 233
Terminal might whine about quitting ARDHelper because it’s being run by root, but use the sudo command or the bang-bang trick to force the process into submission.
$ sudo kill 228
Step 3: Delete the offending files. As far as I can tell, the whole reason the “authentication failed” error comes up is bad data or bad file paths in the Remote Desktop plist files. It might be possible to fix them with a text editor, but I prefer a less fussy solution: delete them.
Double-check to make sure you’re SSHed into your remote machine, and enter the following Terminal commands, one at a time:
$ rm -rf /var/db/RemoteManagement
$ rm /Library/Preferences/com.apple.RemoteDesktop.plist
$ rm ~/Library/Preferences/com.apple.RemoteDesktop.plist
$ rm -r /Library/Application\ Support/Apple/Remote\ Desktop/
$ rm -r ~/Library/Application\ Support/Remote\ Desktop/
Step 4: Fire ARDAgent back up. Now that you’ve quit the processes and deleted the old stuff, change directories to the ARDAgent folder, then turn everything back on and recreate the plist files. You can do this by entering the following two commands:
$ cd /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/
$ sudo ./kickstart -activate -configure -access -on -users username -privs -all -restart -agent -menu
Step 5: Reconnect to the client machine using Remote Desktop. Re-open Remote Desktop on your computer and go to the Scanner. It won’t remember the name of the old machine, but it will still detect it and list its IP address. Double-click that machine, enter your admin name and password, and your dominion over it should now be restored, all without getting out of your chair.
-
Tom Lawton
-
http://www.ccnbi.com Mark Seamans
-
Phil98
-
JD
-
Blue
-
http://www.dev-corp.com Jim Geldermann
-
Moose
-
Peter
