Adam Asked: 2020-02-13 23:05:08 +0800 CST2020-02-13 23:05:08 +0800 CST 2020-02-13 23:05:08 +0800 CST 在启动时启动 KeePassXC 772 我在笔记本电脑、手机和台式机上使用 KeePassXC。虽然我喜欢我必须在笔记本电脑上重新输入主密码,或者在移动设备上使用我的指纹进行验证,但我发现每天都必须在桌面上重新输入主密码非常烦人。 有没有办法在启动时使用 bash 脚本启动 KeePassXC 并自动输入密码? 我在这里找到了 KeePassX 的类似问题,但它是从 2014 年开始的,我不明白答案。 bash keepass 2 个回答 Voted Best Answer vanadium 2020-02-15T00:39:06+08:002020-02-15T00:39:06+08:00 您可以通过命令行上的标准输入选项为 KeePassXC 提供密码--pw-stdin。因此,以最简单的方式,您可以使用以下命令自动打开 KeePassXC 数据库: echo <yourpassword> | keepassxc --pw-stdin <path-to-your-database>.kdbx 与直接在打开时输入密码相比,这会严重损害安全性,因为您的密码未加密地存储在系统上的文件中。 更安全的选择是使用另一个密码库,例如 Gnome Keyring ( Source )。您的密码以不可读的形式存储,需要以您的用户身份登录才能打开 KeePassXC 或读取密码。 您需要安装libsecret-tools它才能工作。 首先,您需要将 KeePassXC 密码存储在 Gnome 密钥环中。您可以使用“密码和密钥”工具或使用以下命令执行此操作: secret-tool store --label="KeePass <database_name>" keepass <database_name> 在标签旁边,您提供了一个属性(这里我们选择“keepass”)和一个值(您可以使用数据库的名称 (<database_name>) 或另一个不应包含空格的字符串)。 登录后,您可以使用以下命令启动和解锁 KeePassXC secret-tool lookup keepass <database_name> | keepassxc --pw-stdin <path-to-your-database>.kbdx 与使用 KeepPassXC 时自己提供密码相比,此选项的安全性要低得多,但消息灵通的用户应该可以自由地在安全性和便利性之间取得平衡。 CodingInTheUK 2022-02-03T21:20:41+08:002022-02-03T21:20:41+08:00 两岁就知道了。 注意安全隐患,如果您只是希望拥有本地存储的密码并且没有其他人访问计算机,那么这应该没问题。否则,您可能更愿意考虑获得 yubikey。 我对它们没有经验,尽管我已经研究过它们并且它们用于身份验证,这是您想要做的。KeePassXC 支持使用 Yubikey。 话虽如此,我在关于终端挂起的评论中有一个解决方案。以下是一个小 bash 脚本。 破解打开你的终端。 touch KeePassLogin && chmod +x KeePassLogin && nano KeePassLogin 输入以下代码: #!/bin/bash secret-tool lookup keepass Passwords | keepassxc --pw-stdin ~/Secured/Passwords.kdbx & sleep 3 ; echo '' 回声功能与回车键一样。如果你对 nano 不熟悉,ctrl + x 然后回车会在你修改后保存文件。 添加了延迟,因为密码提示似乎并不总是及时出现以进行回显。如果三秒对您来说太长,您可以尝试更短的睡眠时间。 返回终端提示符后: ./KeePassLogin 您现在可以使用“/path/to/keePassLogin”作为命令添加一个新的启动应用程序。 更新 我开始考虑这一点,主要是安全影响,并且想到 Yubikey,我选择实现一点“安全意识”添加。 我将 keepassxc 数据库移动到 USB 驱动器上。并实现了这一点。 #!/bin/bash # File: KeepassLogin check if specific security key is mounted. while [ -z "$mnt" ]; do mnt=$(lsblk --output MOUNTPOINT | grep securityKey) if [[ $mnt != "" ]]; then secret-tool lookup keepass Passwords | keepassxc --pw-stdin $mnt/KeePassXC.kdbx > /dev/null 2>&1 & sleep 2 echo "" > /dev/null 2>&1 fi sleep 5 done exit 添加启动应用程序以运行文件(在启动应用程序 gui 中浏览文件)。 所以这简要地做了什么,在登录时keepasslogin 被设置为运行。它将每 5 秒运行一次,您可以根据需要进行调整,也许 60 秒适合您。循环运行,直到找到 USB 设备(lsblk 行)我将其命名为 securityKey 以便于识别。将其更改为您的 USB 棒的标签。 我还将输出发送到 /dev/null。因此,如果您确实手动运行脚本,例如通过键盘快捷键,那么您不会在终端中获得不必要的输出。 因此,虽然它不是真正的安全功能,但它比存储在计算机上的数据库更安全。您可以将数据库放在您的个人身上,并在需要时将其插入。 所以,它不是 Yubikey,但想法是类似的。
您可以通过命令行上的标准输入选项为 KeePassXC 提供密码
--pw-stdin
。因此,以最简单的方式,您可以使用以下命令自动打开 KeePassXC 数据库:与直接在打开时输入密码相比,这会严重损害安全性,因为您的密码未加密地存储在系统上的文件中。
更安全的选择是使用另一个密码库,例如 Gnome Keyring ( Source )。您的密码以不可读的形式存储,需要以您的用户身份登录才能打开 KeePassXC 或读取密码。
您需要安装
libsecret-tools
它才能工作。首先,您需要将 KeePassXC 密码存储在 Gnome 密钥环中。您可以使用“密码和密钥”工具或使用以下命令执行此操作:
在标签旁边,您提供了一个属性(这里我们选择“keepass”)和一个值(您可以使用数据库的名称 (<database_name>) 或另一个不应包含空格的字符串)。
登录后,您可以使用以下命令启动和解锁 KeePassXC
与使用 KeepPassXC 时自己提供密码相比,此选项的安全性要低得多,但消息灵通的用户应该可以自由地在安全性和便利性之间取得平衡。
两岁就知道了。
注意安全隐患,如果您只是希望拥有本地存储的密码并且没有其他人访问计算机,那么这应该没问题。否则,您可能更愿意考虑获得 yubikey。
我对它们没有经验,尽管我已经研究过它们并且它们用于身份验证,这是您想要做的。KeePassXC 支持使用 Yubikey。
话虽如此,我在关于终端挂起的评论中有一个解决方案。以下是一个小 bash 脚本。
破解打开你的终端。
输入以下代码:
回声功能与回车键一样。如果你对 nano 不熟悉,ctrl + x 然后回车会在你修改后保存文件。
添加了延迟,因为密码提示似乎并不总是及时出现以进行回显。如果三秒对您来说太长,您可以尝试更短的睡眠时间。
返回终端提示符后:
您现在可以使用“/path/to/keePassLogin”作为命令添加一个新的启动应用程序。
更新 我开始考虑这一点,主要是安全影响,并且想到 Yubikey,我选择实现一点“安全意识”添加。
我将 keepassxc 数据库移动到 USB 驱动器上。并实现了这一点。
添加启动应用程序以运行文件(在启动应用程序 gui 中浏览文件)。
所以这简要地做了什么,在登录时keepasslogin 被设置为运行。它将每 5 秒运行一次,您可以根据需要进行调整,也许 60 秒适合您。循环运行,直到找到 USB 设备(lsblk 行)我将其命名为 securityKey 以便于识别。将其更改为您的 USB 棒的标签。
我还将输出发送到 /dev/null。因此,如果您确实手动运行脚本,例如通过键盘快捷键,那么您不会在终端中获得不必要的输出。
因此,虽然它不是真正的安全功能,但它比存储在计算机上的数据库更安全。您可以将数据库放在您的个人身上,并在需要时将其插入。
所以,它不是 Yubikey,但想法是类似的。