如何合并 2 个 Gnome 密码密钥环?

如何合并 2 个 Gnome 密码密钥环?

我最终得到了两个密码密钥环 - 一个来自旧笔记本电脑,一个来自当前安装。

如何将两个密码密钥环合并为一个,以便在登录时不必同时解锁它们?

答案1

当您从密钥环中删除密码时,gnome 密钥环管理器会将文件保存为明文。您可以使用文本编辑器编辑这些文件并复制密钥。设置密码以再次加密密钥环文件。

我建议您在执行此操作之前备份您的密钥环文件。

我假设你有两个这样的钥匙圈:

两个钥匙圈

密钥环文件如下所示:

$ cd ~/.local/share/keyrings
$ file foo.keyring bar.keyring 
foo.keyring: GNOME keyring, major version 0, minor version 0, crypto type 0 (AEL), hash type 0 (MD5), name "foo", last modified Thu Jan  1 01:00:00 1970, created Thu Jan  1 01:00:00 1970, not locked if idle, hash iterations 1087, salt 10888099772058093604, 1 item(s)
bar.keyring: GNOME keyring, major version 0, minor version 0, crypto type 0 (AEL), hash type 0 (MD5), name "bar", last modified Thu Jan  1 01:00:00 1970, created Thu Jan  1 01:00:00 1970, not locked if idle, hash iterations 1749, salt 12972167437702069911, 1 item(s)

从两个密钥环中删除密码。要删除密码,您必须更改密码(右键单击 > 更改密码),输入旧密码并将新密码留空。对话框将提示您确认是否要以未加密的形式存储密码。

现在你的文件看起来应该像这样:

$ file foo.keyring bar.keyring 
foo.keyring: ASCII text
bar.keyring: ASCII text
$ cat foo.keyring 

[keyring]
display-name=foo
ctime=0
mtime=0
lock-on-idle=false
lock-after=false

[1]
item-type=0
display-name=key1
secret=pass1
mtime=1311897928
ctime=0
$ cat bar.keyring 

[keyring]
display-name=bar
ctime=0
mtime=0
lock-on-idle=false
lock-after=false

[1]
item-type=0
display-name=key2
secret=pass2
mtime=1311900380
ctime=0

使用您喜欢的文本编辑器编辑文件。确保更改节号,使它们连续且不重叠。

$ cat foo.keyring 

[keyring]
display-name=foo
ctime=0
mtime=0
lock-on-idle=false
lock-after=false

[1]
item-type=0
display-name=key1
secret=pass1
mtime=1311897928
ctime=0

[2]
item-type=0
display-name=key2
secret=pass2
mtime=1311900380
ctime=0

返回图形密钥环管理器。锁定,然后解锁密钥环以使更改生效(右键单击 > 锁定,右键单击 > 解锁)。或者,您可以关闭并重新打开密钥环管理器。现在您应该在一个密钥环中看到您移动的所有密钥。

两个钥匙圈,钥匙已移动

您现在可以设置密码,密钥环文件将再次加密。

答案2

这些密钥环是什么格式的?如果您在“密码和加密密钥”对话框中管理它们,您能否选择“旧笔记本电脑”密钥环中的所有密钥,右键单击并选择“复制”,然后将它们粘贴到另一个密钥环中?

描述.keyring 文件结构的文档:http://archpub20.cs.ccu.edu.tw/cgi-bin/dwww?type=file&location=/usr/share/doc/gnome-keyring/file-format.txt

相关内容