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
- Arch User Repository (AUR) - maintained by the community
Manual Installation
- 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.
- 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 automaticallysystemctl --user disable passkeez.service
: disable PassKeeZ to start automaticallysystemctl --user start passkeez.service
: start PassKeeZ in the backgroundsystemctl --user stop passkeez.service
: stop PassKeeZsystemctl --user status passkeez.service
: get the status of the PassKeeZ process
- Add yourself to the
fido
group and enable theuhid
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
- Create the
~/.passkeez
folder if it does not exist and add aconfig.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
andgerman
. If you want PassKeeZ to support a different language, please open an issue or consider opening a pull-request.
- 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
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