Ubuntu中的密钥环概念:它是什么以及如何使用它?如何禁用它?
Ubuntu中的密钥环概念:它是什么以及如何使用它?如何禁用它?
在使用Ubuntu或其他Linux发行版时,你可能会遇到这样的情况:打开某个应用程序时,弹出"需要认证:您登录计算机时,您的登录密钥环未被解锁"的提示。这不是一个错误,而是一个重要的安全功能。本文将为你详细解释Linux中的密钥环是什么,为什么需要它,以及如何处理自动登录时遇到的密钥环问题。
一、Linux中的密钥环是什么,为什么要使用它?
你为什么在现实生活中使用钥匙环(也称为钥匙链)?你可以用它把一把或多把钥匙组合在一起,这样它们就很容易找到和携带。这在Linux中是相同的概念。钥匙环功能允许你的系统将各种密码组合在一起,并将其保存在一个位置。
大多数桌面环境,如GNOME、KDE、Xfce等,都使用GNOME-Keyring的实现来在Linux中提供此密钥环功能。这个密钥环保留你的SSH密钥、GPG密钥和来自使用此功能的应用程序(如Google Chrome和Microsoft Edge浏览器)的密钥。默认情况下,钥匙环使用主密码锁定,主密码通常是帐户的登录密码。
系统中的每个用户都有自己的密钥环,其密码(通常)与用户帐户本身的密码相同。当你使用密码登录系统时,你的钥匙环将使用帐户密码自动解锁。
当你在Ubuntu中切换到自动登录系统时,问题就来了。这意味着你无需输入密码即可登录系统。在这种情况下,你的钥匙环不会自动解锁。那么就出现本文开头说到的"需要认证:您登录计算机时,您的登录密钥环未被解锁"弹出消息!
1. 钥匙扣是一项安全功能
记得我告诉过你钥匙环是一个安全功能吗?现在想象一下,在你的Linux桌面上,你正在使用自动登录。任何可以访问你桌面的人都可以在没有密码的情况下进入系统,但你对此没有任何问题,也许是因为你只使用它浏览互联网。
但是,如果你在Ubuntu中使用Microsoft Edge或Google Chrome这样的浏览器,并使用它来保存各种网站的登录密码,你就会遇到问题。任何人都可以使用浏览器并登录到你在浏览器中保存了密码的网站。这很危险,不是吗?
这就是为什么当你尝试使用Edge或者Chrome浏览器时,它会反复要求你解锁钥匙环。这样可以确保只有知道钥匙环密码(即帐户密码)的人才能使用浏览器中保存的密码登录各自的网站。
如果你一直取消解锁钥匙环的提示,它最终会消失,这是你可以继续使用浏览器。但是,保存的密码不会被解锁。你将在Edge或者Chrome浏览器中看到,要求你"重新登录"或者"同步暂停"。
2. 为什么你感觉不到这个钥匙环的存在?
如果你从未使用过自动登录(或更改过帐户密码),你可能甚至没有意识到这个功能的存在。这是因为当你用密码登录系统时,你的钥匙环会用你的账户密码自动解锁。
Ubuntu和其他Linux发行版,无论你是否设置了自动登录功能,都会要求输入密码来执行常见的管理任务,例如修改用户、安装新软件等。但对于像使用浏览器这样的常规任务,它不会要求输入密码,因为钥匙环已经解锁。否则的话,你关闭浏览器再打开就会要求你再输入一次密码,这样是不是很崩溃?
当你切换到自动登录时,你不再输入登录密码。这意味着钥匙环没有解锁,因此当你尝试使用使用钥匙环功能的浏览器时,它会要求解锁钥匙环。
3. 你可以轻松管理钥匙环和密码
这个钥匙环在哪里?从本质上讲,它是一个守护程序(在后台自动运行的程序)。大多数桌面环境都带有与此守护程序交互的图形应用程序。在KDE上,有KDE钱包,在GNOME和其他平台上,它被称为"密码和密钥"。
你可以使用此图形应用程序来查看哪些应用程序使用密钥环来管理/锁定密码。正如你所看到的,我的系统有一个自动创建的登录密钥环。还有一个用于存储GPG和SSH密钥的密钥环。证书用于保存证书颁发机构颁发的证书(如HTTPS证书)。
你也可以使用此应用程序手动存储网站的密码。例如,我创建了一个名为"APP"的受密码保护的新密钥环,并手动将密码存储在该密钥环中。这比在文本文件中保存密码列表要好一点。至少在这种情况下,只有当你用密码解锁钥匙环时,才能查看你的密码。
这里的一个潜在问题是,如果你格式化系统,手动保存的密码肯定会丢失。通常,你会备份个人文件,而不是所有特定于用户的数据,如密钥环文件。这是有办法的。密钥环数据通常存储在~/.local/share/keyrings
目录中。你可以在这里看到所有的钥匙环,但你不能直接看到它的内容。如果你删除了密钥环的密码(我将在本文的后面部分展示这些步骤),你可以像读取常规文本文件一样读取密钥环的内容。你可以完全复制此未锁定的密钥环文件,并将其导入其他Linux计算机(运行此应用程序)上的"密码和密钥"应用程序中。
让我总结一下上面的内容:
- 大多数Linux都安装并默认激活了这个"钥匙环功能"
- 系统上的每个用户都有自己的钥匙环
- 钥匙环通常使用帐户密码锁定
- 当你使用密码登录时,钥匙环会自动解锁
- 对于自动登录,钥匙环没有解锁,因此当你尝试使用使用钥匙环的应用程序时,会要求你解锁它
- 并非所有浏览器或应用程序都使用钥匙环功能
- 安装了一个GUI应用程序来与keyring交互
- 你可以使用密钥环以加密格式手动存储密码
- 你可以自己更改钥匙环密码
- 你可以导出(先解锁钥匙环),然后在其他计算机上导入,以获得手动保存的密码
二、更改密钥环密码
假设你更改了帐户密码。现在,当你登录时,你的系统会尝试使用新的登录密码自动解锁钥匙环。但是钥匙环仍然使用旧的登录密码。
在这种情况下,你可以将钥匙环密码更改为新的登录密码,以便在登录到系统后立即自动解锁钥匙环。
有的Linux发行版没有内置"密码和密钥"的GUI程序,没有请用下面命令安装:
sudo apt install seahorse
从菜单中打开"密码和密钥"应用程序;或者在终端中输入seahorse
命令打开:
现在,右键单击登录钥匙环,然后单击更改密码:
如果你不记得旧的登录密码怎么办?
删除之后,我们打开需要密钥环的应该程序,比如Edge浏览器,它会提示你输入新的密码:
三、禁用密钥环密码(取消:您登录计算机时,您的登录密钥环未被解锁)
如果你想使用自动登录,但不想手动解锁钥匙环,你可以选择使用变通的方法禁用钥匙环。请记住,你正在禁用某个安全功能,因此在执行此操作之前请三思。
这个过程类似于更改密钥环密码。打开"密码和密钥"应用程序,然后继续更改钥匙环密码。诀窍是,当它要求更改密码时,不要输入新密码,而是直接点击"继续"。这将删除钥匙环中的任何密码。这样一来,钥匙环将没有密码,并且始终保持解锁状态。
这样设置之后,需要密钥环的程序不再出现登录提示!