Ill touch on `pamusb` configuration here real quick, cause this one is cool AF. I love the idea of having a little token/key that you authenticate with.
The desired end goal of ALL of these articles uses such a device not just to auth the user but to also decrypt the root partition.
However this article just outlines userauth.
The currently active repository is here.
https://github.com/mcdope/pam_usb
From the installation guide in the github "There is an APT repository with prebuilt deb packages available. You can find it at [https://apt.mcdope.org/](https://apt.mcdope.org/)."
This is the process for a Debian based system. Arch has a robust article for it's own system that I used to use. https://wiki.archlinux.org/title/Pam_usb
### configure the APT repository.
Import the GPG key:
```bash
sudo gpg --no-default-keyring \
--keyring /usr/share/keyrings/apt.mcdope.org.gpg \
--keyserver keyserver.ubuntu.com \
--recv-keys 913558C8A5E552A7
```
add the following line to `/etc/apt/sources.list`
```bash
deb [signed-by=/usr/share/keyrings/apt.mcdope.org.gpg]\
https://apt.mcdope.org/ ./
```
run:
```
sudo apt install pam libpam-usb
```
## USB Configuration
These are the steps written here. https://github.com/mcdope/pam_usb/wiki/Getting-Started#setting-up-devices-and-users
You will first add a device with
```bash
pamusb-conf --add-device
```
Then configure that device with a user:
```bash
pamusb-conf --add-user
```
Then check it with:
```bash
pamusb-check
```
## PAM Configuration
This SHOULD have done the following for you but let's check anyway.
In `/etc/pam.d/common-auth` check for the following configuration lines
```bash
auth sufficient pam_usb.so
auth [success=1 default=ignore] pam_unix.so nullok try_first_pass
```
The line containing `pam_unix.so` is the default and above it has been added the line containing `pam_usb.so` If this is not visible, please add it.
you MAY have to reboot to get this to take effect.
---
Other Articles In This Series