Skip to content

bjn7/passkeyd

Repository files navigation

Alt text

An Opinionated WebAuthn Authenticator

About

Passkeyd is a Linux based WebAuthn authenticator that works with any WebAuthn supported application, including browsers. It supports both TPM and non-TPM devices.

Installation

Install Binaries

Arch-based distro

The package is available in the passkeyd AUR, which you can install using aur helper, For exmaple

# Using yay
yay -S passkeyd

# Using paru
paru -S passkeyd

# Using aura
aura -A passkeyd
Ubuntu-based distro
curl -fsSL https://github.com/bjn7/passkeyd/releases/latest/download/passkeyd.gpg | sudo tee /usr/share/keyrings/passkeyd.gpg >/dev/null
echo 'deb [signed-by=/usr/share/keyrings/passkeyd.gpg] https://github.com/bjn7/passkeyd/releases/latest/download ./' | sudo tee /etc/apt/sources.list.d/passkeyd.list
sudo apt-get update && sudo apt-get install passkeyd

Start the Passkeyd Service

Initialize Passkeyd

Before initializing the passkeyd service, you may want to configure it properly for your system, Initial Required Configuration.

sudo systemctl enable passkeyd
sudo systemctl start passkeyd
Testing the Passkey Authentication (optional)

To determine whether the passkey is working properly, you may follow this step.

  1. Go to the Webauthn Demo Site
  2. Enter the username "Test" and click Register.
  3. You should see: "Success! Now try to authenticate..."
  4. Click authenticate, A passphrase popup will appear, Enter your logged-in Linux user passphrase.

Passkeyd UI Custom Theme

The config for theme can be found at /usr/share/passkeyd/theme.conf

Passkeyd Manager

To manage your passkeys, Enter the command passkeyd-manager.

Keys Action
Enter or Esc View the selected site’s passkey. Press again to go back.
Delete If a website is selected, deletes all its passkeys. If a specific passkey is selected, deletes only that entry. This only removes it from the system, not from the website. You may still need to remove it from the website separately.
Ctrl + C Exit.

Contrubution

If you are willing to contribute, refer to CONTRIBUTING.md

Alternatives

  • libwebauthn: TPM 2.0 support is marked as 'planned' and appears to have been in that status since 2020.

  • tpm-fido: Likely to work for a long time due to the longevity of TPM 2.0 and protocol considerations, but it was last updated 3 years ago, so it doesn’t appear to be actively maintained.

  • linux-id: A fork of tpm-fido that is actively maintained.

About

An Opinionated WebAuthn Authenticator

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Contributors