I've had to deal with this one a few times and every time I forget what the cause is until I dig deep. So here are the symptoms:
user@PC:~$ adb shell
error: device unauthorized.
This adbd's $ADB_VENDOR_KEYS is not set; try 'adb kill-server' if that seems wrong.
Otherwise check for a confirmation dialog on your device.
user@PC:~$ adb devices
List of devices attached
Well, for me, the issue has been what you see below:
user@PC:~$ ls -al ~/.android/ total 20 drwxrwxr-x 3 user user 4096 Jun 7 15:46 . drwxr-xr-x 30 user user 4096 Sep 19 11:30 .. -rw------- 1 root root 1704 Jun 7 15:46 adbkey -rw-r--r-- 1 root root 710 Jun 7 15:46 adbkey.pub drwxrwxr-x 2 user user 4096 Jun 7 15:42 cache
Notice how my
adbkey and the matching public key are owned by root?
The first time I've ran
adb anything on this machine has been as root.
The fix is easy and you probably already know it:
sudo chown user:user ~/.android/adbkey*