On Ubuntu 16.04, accessing libusb requires root privalleges by default, which makes using a YubiKey as a PAM device, or as a GPG SmartCard impractical.

You can enable non GPG Usage by adding a udev rule like so:

1. Open a root text editor:

$ sudo edit /etc/udev/rules.d/70-yubikey.rules

2. Write the following to the file:

ACTION!="add|change", GOTO="yubi_end"

# u2f support
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1050", ATTRS{idProduct}=="0113|0114|0115|0116|0120|0402|0403|0406|0407|0410", TAG+="uaccess"

# general usb support
SUBSYSTEM=="usb", ATTRS{idVendor}=="1050", ATTRS{idProduct}=="0113|0114|0115|0116|0120|0402|0403|0406|0407|0410", TAG+="uaccess"
LABEL="yubi_end"

3. Force udev to reload rules:

$ sudo udevadm trigger
$ sudo udevadm control --reload-rules

4. Verify that you can now access the key without sudo