Installing PassKeeZ - Zig-Sec/PassKeeZ GitHub Wiki

Currently, PassKeeZ is only available for Linux.

Linux

You can either choose to install PassKeeZ manually or use an installation script. A third option is to build PassKeeZ from source. In that case you just need the Zig compiler (we usually use the latest stable release).

After you've installed PassKeeZ it might be required that you restart your system.

Automatic Installation

We provide a script for automatically installing PassKeeZ on your system. All you need to do is run the following command:

sudo bash -c "$(curl -fsSL https://raw.githubusercontent.com/Zig-Sec/PassKeeZ/refs/heads/master/script/install-linux.sh)"

This will install the latest version on your system.

To install the current master run:

sudo bash -c "$(curl -fsSL https://raw.githubusercontent.com/Zig-Sec/PassKeeZ/refs/heads/master/script/install-linux.sh)" install-linux.sh --vpasskeez master

If you want to reinstall PassKeeZ, you can just run the script again.

Package Manager

Manual Installation

  1. Download the pre-built binaries for passkeez and zigenity from the latest release and move them to /usr/local/bin (you need to rename them as they have a post-fix attached that indicates the architecture). If you have problems using the pre-build binaries, you can build the required binaries from source. All you need is a Zig compiler (version 0.14.0). We recommend using the installer script. The passkeez binary is the actual authenticator, running as a deamon in the background, and zigenity is used as user-interface. If you need binaries for a different architecture, please open an issue so we can include them in future releases.
  2. Create the following directory if it does not already exist ~/.local/share/systemd/user and add the passkeez.service file. With this change you can run the following commands:
    • systemctl --user enable passkeez.service: enable PassKeeZ to start automatically
    • systemctl --user disable passkeez.service: disable PassKeeZ to start automatically
    • systemctl --user start passkeez.service: start PassKeeZ in the background
    • systemctl --user stop passkeez.service: stop PassKeeZ
    • systemctl --user status passkeez.service: get the status of the PassKeeZ process
  3. Add yourself to the fido group and enable the uhid module:
# Create a new group called fido
getent group fido || (groupadd fido && usermod -a -G fido $SUDO_USER)

# Add uhid to the list of modules to load during boot
echo "uhid" > /etc/modules-load.d/fido.conf

# Create a udev rule that allows all users that belong to the group fido to access /dev/uhid
echo 'KERNEL=="uhid", GROUP="fido", MODE="0660"' > /etc/udev/rules.d/90-uinput.rules
udevadm control --reload-rules && udevadm trigger
  1. Create the ~/.passkeez folder if it does not exist and add a config.json file with the following content: {"db_path":"~/.passkeez/passkeez.kdbx", "lang":"english"}.
    • PassKeeZ supports the KDBX (KeePassXC, KeePass, ...) version 4 and Cbor Credential Database format. To use KDBX specify a path to a file with the ending .kdbx and for CCDB to a file with the ending .ccdb. It is not required that the file exists! In that case, a new database will be created the next time PassKeeZ wants to access the database.
    • PassKeeZ currently supports english and german. If you want PassKeeZ to support a different language, please open an issue or consider opening a pull-request.

After following these steps please run systemctl --user start passkeez.service and systemctl --user enable passkeez.service, to enable and start PassKeeZ. You're now ready to create your first passkey! Visit the First Steps wiki page to learn more about how to use PassKeeZ.

Uninstalling PassKeeZ

To uninstall PassKeeZ run:

sudo bash -c "$(curl -fsSL https://raw.githubusercontent.com/Zig-Sec/PassKeeZ/refs/heads/master/script/install-linux.sh)" install-linux.sh --uninstall