使用命令行批量创建 KeePass 数据库。
最近需要创建多个 KeePass 数据库,但是一个一个手动创建太花时间了,后来发现原来 KeePassXC 内置有 CLI 命令行工具。路径在:/Applications/KeePassXC.app/Contents/MacOS/keepassxc-cli
创建 KeePassXC 数据库
语法如下:
printf "%s\n%s" "密码" "密码" | /Applications/KeePassXC.app/Contents/MacOS/keepassxc-cli db-create -p 文件名字.kdbx
命令详解:
db-create 是用来创建数据库的参数。
Usage: keepassxc-cli db-create [options] database
Create a new database.
Options:
-q, --quiet Silence password prompt and other secondary
outputs.
-k, --set-key-file <path> Set the key file for the database.
-p, --set-password Set a password for the database.
-t, --decryption-time <time> Target decryption time in MS for the database.
-h, --help Display this help.
Arguments:
database Path of the database.
使用 -p 参数设置密码,在后面设置创建的文件名字,以 kdbx 结尾。
/Applications/KeePassXC.app/Contents/MacOS/keepassxc-cli db-create -p demo.kdbx
Enter password to encrypt database (optional):
Repeat password:
接下来会要求重复输入两遍密码,然后就创建完成了。
Successfully created new database.
使用 printf 命令预设好密码。
%s
是格式代替符,会输出字符串。\n
代表换行。- 后面引号的参数就是
%s
要输出的内容。
printf "%s\n%s" "123456" "123456"
意思就是 %s
输出第一行密码 123456,然后 \n
换行,第二个 %s
输出第二行密码 123456。
设置 KeePassXC 数据内的项目
语法如下:
printf "%s\n%s" "KeePassXC密码" "密码" | /Applications/KeePassXC.app/Contents/MacOS/keepassxc-cli add "文件名.kdbx" --u "用户名" --url "链接" -p "标题"
命令详解:
add 是用来新增数据库项目的参数。
Usage: keepassxc-cli add [options] database entry
Add a new entry to a database.
Options:
-q, --quiet Silence password prompt and other secondary
outputs.
-k, --key-file <path> Key file of the database.
--no-password Deactivate password key for the database.
-y, --yubikey <slot[:serial]> Yubikey slot and optional serial used to
access the database (e.g., 1:7370001).
-u, --username <username> Username for the entry.
--url <URL> URL for the entry.
-p, --password-prompt Prompt for the entry's password.
-g, --generate Generate a password for the entry.
-L, --length <length> Length of the generated password
-l, --lower Use lowercase characters
-U, --upper Use uppercase characters
-n, --numeric Use numbers
-s, --special Use special characters
-e, --extended Use extended ASCII
-x, --exclude <chars> Exclude character set
--exclude-similar Exclude similar looking characters
--every-group Include characters from every selected group
-h, --help Display this help.
Arguments:
database Path of the database.
entry Path of the entry to add.
- 在 add 参数后面需要设置一个数据库文件。
--u
参数设置用户名。--url
参数设置链接,如果没有链接,引号内可以留空,或者不使用这个参数。-p
参数设置标题。
/Applications/KeePassXC.app/Contents/MacOS/keepassxc-cli add "demo.kdbx" --u "Admin" --url "https://dev-coco.github.io" -p "测试内容"
Enter password to unlock demo.kdbx:
Enter password for new entry:
接下来会要求输入数据库的密码,然后再输入项目的密码。
Successfully added entry 测试内容.
自动化生成器
首先,在 Excel 表格内按照下图第一行的表头设置好内容,链接为可选填项。
然后把 Excel 表格里设置好的内容复制粘贴到 KeePassXC 批量生成器 左边的输入框。点击生成按钮后,在右侧就会输出生成好的 Shell 命令。
最后把输出的命令复制粘贴到 Terminal 里运行。在当前目录下就会批量创建设置好的数据库了。