当前位置: 首页 > 科技观察

在Linux终端中管理您的密码

时间:2023-03-17 10:54:46 科技观察

现在我们每个人都有几十个密码。幸运的是,这些密码中的大多数几乎专用于网站,您可能会通过互联网浏览器访问其中的大部分网站,而且许多浏览器都内置了密码管理器。最流行的Internet浏览器还具有同步功能,可帮助您在各种设备上运行的浏览器之间分发密码,因此您永远不会在需要时丢失对登录信息的跟踪。如果这对您来说还不够,还有BitWarden等优秀的开源项目可以托管您的加密密码,确保只有您可以解锁它们。这些方案可帮助您轻松维护唯一密码,我使用这些方便的系统来管理一些密码。但是我的主密码库比上面的方法简单多了。我主要使用pass,这是一个经典的UNIX风格的密码管理系统,使用GnuPG(GPG)作为加密方式,终端是它的主要界面。安装pass您可以从分发存储库安装pass命令。在Fedora、Mageia和类似的发行版上,您可以使用包管理器安装它:$sudodnfinstallpass在Elementary、Mint和其他基于Debian的发行版上:$sudoaptinstallpass在macOS上,您可以使用Homebrew来安装它:$brewinstallpass设置GnuPG在使用pass之前你需要一个有效的PGP(PrettyGoodPrivacy)密钥。如果您已经维护了一个PGP密钥,则可以跳过此步骤,或者您可以选择创建一个新密钥以与pass一起使用。最常见的开源PGP实现是GnuPG(GPG),它随Linux一起提供。对于macOS,您可以从gpgtools.org、Homebrew或Macports安装它。要创建GnuPG密钥,请运行此命令:$gpg--generate-key系统将提示您输入姓名和电子邮件,并为该密钥创建一个密钥。您的密钥是一个数字文件,您的密码只有您自己知道。它们可以一起“锁定”和“解锁”加密信息,例如包含密码的文件。GPG钥匙更像是一把房门钥匙或车钥匙,如果您丢失了它,无论它“锁定”什么,都将无法访问。仅仅知道您的密码是不够的。如果您管理过多个SSH密钥,您可能已经习惯了。如果您不熟悉数字加密密钥,可能需要一些时间来适应。备份您的~/.gnupg目录,这样您下次决定一时兴起尝试令人兴奋的新发行版时就不会意外删除它。做好备份,并确保备份安全。设置通行证要开始使用通行证,您必须初始化密码存储,它被定义为配置为使用特定加密密钥的存储位置。您可以指定一个GPG密钥,以通过与该密钥关联的名称或数字指纹来存储密码。自己的名字通常比较容易选择:$passinitsethmkdir:createddirectory'/home/seth/.password-store/'为seth初始化的密码存储如果忘记名字,可以使用gpg命令查看数字指纹以及与您的姓名关联的密钥:$gpg--list-keysgpg--list-keys/home/seth/.gnupg/pubring.kbx-----------------------------pubed255192022-01-06[SC][到期时间:2024-01-06]2BFF94286461216C907CBA52F067996F13EF10D8uid[最终]SethKenlon<[seth@example.com][7]>subcv255192022-01-06[E][expires:2024-01-06]使用指纹初始化密码库与使用您的姓名初始化密码库基本相同:$passinit2BFF94286461216C907CBA52F067996F13EF10D8使用passadd命令添加存储密码密码仓库的密码:$passadd[www.example.com][8]Enterpasswordfor[www.example.com][8]:提示您输入要添加的密码。密码现在存储在您的密码库中。你可以自己查一下:$ls/root/.password-store/www.example.com.gpg当然这个文件是不可读的,你试试在上面运行cat或者less,你的上面会显示乱码terminal(如果它干扰了你的显示,你可以使用reset命令来恢复你的终端。)editpasswordwithpass我在不同的上网活动中使用不同的用户名,所以网站你的用户名往往和你的密码一样重要。pass有这个功能,即使它默认不提示你。你可以使用passedit命令将用户名添加到密码文件中:$passeditwww.example.com这将打开一个编辑器(通常你将其设置为EDITOR或VISUAL环境变量编辑器)显示内容www.example.com文件。目前,这只是一个密码,但您可以添加用户名甚至URL或任何您想要的内容。它是一个加密文件,所以你可以在里面放任何你想要的东西。bd%dc$3a49af49498bb6f31bc964718Cuser:seth123url:example.com保存文件并关闭。从pass中获取密码要查看密码文件的内容,请使用passshow命令:$passshowwww.example.combd%dc$3a49af49498bb6f31bc964718Cuser:seth123url:www.example.org查找密码有时很难记住密码是不是归因于www.example.com或example.com,或某些URL,如app.example.com。另外,有些网站架构针对不同的网站功能使用不同的URL,所以您可以在www.example.comURL下填写密码,在合作网站www.example.com上也使用相同的登录信息。example.org下使用的密码。如有疑问,可以使用grep命令。passgrep命令显示整个搜索项的实例,包括文件名和文件内容:$passgrepexamplewww.example.com:url:www.example.org在浏览器中使用pass我使用pass获取互联网密码以外的信息,但网站是我经常需要密码的地方。我通常在我的电脑某处打开一个终端,所以Alt+Tab切换到终端并通过获取信息对我来说并不麻烦。但我没有,因为有插件将pass与网络浏览器集成在一起。通行证主机脚本首先,安装通行证主机脚本:$curl-sSLgithub.com/passff/passff-host/release/latest/download/install_host_app.sh这个脚本放置了一个Python脚本,可以帮助你的浏览器访问你的密码和GPG密码。使用您正在使用的浏览器的名称运行它(或不带参数,查看所有选项):$bash./install_host_app.shfirefox如果您使用多个浏览器,您可以为每个浏览器安装它。pass附加组件安装托管程序后,您可以为浏览器安装附加组件或扩展程序。在浏览器加载项或扩展管理器中搜索PassFF插件。PassFF安装了附加组件,然后关闭并重新打开浏览器。导航到您在密码库中存储了密码的网站。一个小的“P”图标将出现在您的登录文本框的右侧。PassFF浏览器提示点击“P”按钮将看到与您的网站名称匹配的密码库列表。PassFF浏览器菜单点击“纸笔”图标填写表格,或点击“纸飞机”图标填写并自动提交表格。简单的密码管理,它是完全集成的!尝试将pass作为您的Linux密码管理器对于那些希望使用日常使用的工具来管理密码和个人信息的人来说,pass命令是一个很好的选择。如果您已经依赖GPG和终端,那么您可能会喜欢通行证系统。对于不想将密码绑定到特定程序的用户来说,这也是一个重要的选择。也许您不只使用一种浏览器,或者您不喜欢这样的想法:如果您决定停止使用某个应用程序,则可能很难从中提取密码。通过pass,您可以在UNIX风格的直接系统中保持对您的秘密的控制。