pam_usb is a PAM module that enables authentication using a USB storage device through DSA private/public keys. It can also work with floppy disks, CD-ROMs, or any kind of mountable device.
1c3efbb41ff6d97db6b9ac18664d36ca3b11689156be76baf0382e09aa94ea04