Ubuntu 中的 Keyring 概念:它是什么以及如何使用它?

如果您在 Ubuntu 或其他 Linux 发行版中使用自动登录,您可能会遇到这样的弹出消息:

Enter 解锁您的登录密钥环的密码
当您登录计算机时,登录密钥环没有解锁。

如果您继续单击取消,它会在消失之前不断弹出几次。 您可能想知道为什么您总是看到这个密钥环消息?

让我告诉你一件事。 这不是错误。 这是一项安全功能。

惊讶吗? 让我解释一下 Linux 中的密钥环概念。

什么是 Linux 中的密钥环,为什么要使用它?

为什么要使用密钥环(也称为 钥匙链) 在现实生活中? 您可以使用它来将一个或多个密钥组合在一起,以便于查找和携带。

这在 Linux 中是相同的概念。 密钥环功能允许您的系统将各种密码组合在一起并将其保存在一个地方。

大多数桌面环境,如 GNOME、KDE、Xfce 等都使用 侏儒钥匙圈 在 Linux 中提供此密钥环功能。

此密钥环可保存您的 ssh 密钥、GPG 密钥和来自使用此功能的应用程序(如 Chromium 浏览器)的密钥。 默认情况下, 密钥环被主密码锁定 这通常是帐户的登录密码。

您系统上的每个用户都有自己的密钥环,其密码(通常)与用户帐户本身的密码相同。 当您使用密码登录系统时,您的密钥环会自动使用您的帐户密码解锁。

当您在 Ubuntu 中切换到自动登录时,问题就出现了。 这意味着您无需输入密码即可登录系统。 在这种情况下,您的钥匙圈不会自动解锁。

密钥环是一项安全功能

还记得我告诉过你密钥环是一项安全功能吗? 现在想象一下,在您的 Linux 桌面上,您正在使用自动登录。 任何有权访问您的桌面的人都可以在没有密码的情况下进入系统,但您对此没有任何问题,可能是因为您仅使用它来浏览互联网。

但是,如果您在 Ubuntu 中使用 Chromium 或 Google Chrome 之类的浏览器,并使用它来保存各种网站的登录密码,那么您手头就有问题了。 任何人都可以使用浏览器并登录您在浏览器中保存密码的网站。 这很危险,不是吗?

这就是为什么当您尝试使用 Chrome 时,它​​会反复要求您解锁密钥环。 这确保只有知道密钥环密码(即帐户密码)的人才能使用浏览器中保存的密码登录各自的网站。

如果您继续取消钥匙圈解锁的提示,它最终会消失并让您使用浏览器。 但是,保存的密码不会被解锁,您会在 Chromium/Chrome 浏览器中看到“同步暂停”。

如果这个钥匙圈一直存在,为什么你从来没有见过它?

如果您从未在 Linux 系统中看到过这个密钥环,那么这是一个有效的问题。

如果您从未使用过自动登录(或更改过您的帐户密码),您甚至可能没有意识到此功能的存在。

这是因为当您使用密码登录系统时,您的密钥环会自动使用您的帐户密码解锁。

Ubuntu(和其他发行版)要求输入常用密码 admin 无论您是否自动登录,都可以执行修改用户、安装新软件等任务。 但是对于像使用浏览器这样的常规任务,它不会要求输入密码,因为密钥环已经解锁。

当您切换到自动登录时,您不再输入登录密码。 这意味着密钥环未解锁,因此当您尝试使用使用密钥环功能的浏览器时,它会要求解锁密钥环。

您可以轻松管理密钥环和密码

这个钥匙圈在哪里? 它的核心是一个守护进程(一个在后台自动运行的程序)。

别担心。 您不必在终端中“与守护进程战斗”。 大多数桌面环境都带有与此守护进程交互的图形应用程序。 在 KDE 上,有 KDE Wallet,在 GNOME 和其他上,它被称为 Password and Keys(最初称为 海马)。

Ubuntu中的密码和密钥应用程序

您可以使用此 GUI 应用程序查看哪些应用程序使用密钥环来管理/锁定密码。

如您所见,我的系统具有自动创建的登录密钥环。 还有一个用于存储 GPG 和 SSH 密钥的密钥环。 这 证书 用于保存证书颁发机构颁发的证书(如 HTTPS 证书)。

您还可以使用此应用程序手动存储网站密码。 例如,我创建了一个名为“Test”的受密码保护的新密钥环,并手动将密码存储在此密钥环中。

这比在文本文件中保存密码列表要好一些。 至少在这种情况下,只有当您使用密码解锁密钥环时才能查看您的密码。

保存新密码 Seahorse保存新密码 Seahorse

这里的一个潜在问题是,如果您格式化系统,手动保存的密码肯定会丢失。 通常,您会备份个人文件,而不是所有用户特定的数据,例如密钥环文件。

有办法处理它。 密钥环数据通常存储在 ~/.local/share/keyrings 目录中。 您可以在此处查看所有密钥环,但无法直接查看其内容。 如果您删除了密钥环的密码(我将在本文后面部分展示这些步骤),您可以像阅读常规文本文件一样读取密钥环的内容。 您可以完全复制此解锁的密钥环文件并将其导入其他 Linux 计算机(运行此应用程序)上的密码和密钥应用程序中。

所以,让我总结一下你到目前为止学到的东西:

  • 大多数 Linux 都默认安装并激活了这个“密钥环功能”
  • 系统上的每个用户都有自己的密钥环
  • 密钥环通常使用帐户密码锁定
  • 当您使用密码登录时,密钥环会自动解锁
  • 对于自动登录,密钥环未解锁,因此当您尝试使用使用密钥环的应用程序时会要求您解锁它
  • 并非所有浏览器或应用程序都使用密钥环功能
  • 安装了一个 GUI 应用程序来与密钥环交互
  • 您可以使用密钥环以加密格式手动存储密码
  • 您可以自行更改密钥环密码
  • 您可以导出(通过首先解锁密钥环)并将其导入其他计算机以获取您手动保存的密码

更改密钥环密码

假设您更改了帐户密码。 现在,当您登录时,您的系统会尝试使用新的登录密码自动解锁密钥环。 但是密钥环仍然使用旧的登录密码。

在这种情况下,您可以将密钥环密码更改为新的登录密码,以便在您登录系统后立即自动解锁密钥环。

从菜单中打开密码和密钥应用程序:

密码和密钥应用程序 Ubuntu在菜单中查找密码和密钥应用程序

现在,右键单击登录密钥环,然后单击更改密码:

更改密钥环密码更改密钥环密码

如果您不记得旧的登录密码怎么办?

您可能知道在 Ubuntu 中重置忘记的密码很容易。 在这种情况下,问题与钥匙圈有关。 您更改了帐户密码,但您不记得密钥环仍在使用的旧帐户密码。

现在您无法更改它,因为您不知道旧密码。 现在要做什么?

在这种情况下,您必须移除整个密钥环本身。 您可以从密码和密钥应用程序中执行此操作:

删除密钥环 Ubuntu删除密钥环 Ubuntu

它将要求您确认:

删除密钥环删除密钥环

或者,您也可以手动删除 ~/.local/share/keyrings 目录中的密钥环文件。

当旧的密钥环被移除并且您尝试使用 Chrome/Chromium 时,它会要求您创建新的密钥环。

您可以使用新的登录密码,以便密钥环自动解锁。

禁用密钥环密码

如果您想使用自动登录但不想手动解锁密钥环,您可以选择通过解决方法禁用密钥环。 请记住,您正在禁用安全功能,因此请三思而后行。

该过程类似于更改密钥环密码。 打开密码和密钥应用程序并继续更改密钥环密码。

诀窍是,当它要求更改密码时,不要输入新密码,而是点击继续。 这将从密钥环中删除任何密码。

禁用密钥环密码 Ubuntu通过根本不设置任何密码来禁用密钥环密码

这样,密钥环将没有密码,并且一直保持解锁状态。