可以使用秘密工具查找现有的海马密码吗?


12

我发现这篇文章是关于从命令行从gnome密钥环获取密码的(我如何从终端的密钥环获取密码以在脚本中使用?),并且发现秘密工具是解决之道。我可以使用secret-tool存储密码是很棒的,但是我似乎无法弄清楚如何查找使用seahorse存储的现有密码,这是我真正希望做的。我不知道我将需要使用什么属性和值来查询它们,并且手册页对于这些可能是什么还很含糊。


2
您想将其恢复为纯文本格式吗?我希望那是不可能的。如果可能,请更改用于存储密码的系统。
2014年

1
我很确定这就是秘密工具和海马的重点。我已经在seahorse的Login部分中存储了一些密码(因此,一旦我登录它们就可以使用;仍然在磁盘上加密,但是使用我的用户凭据解密)。这就是我从此示例中收集的信息(我在许多搜索中都能找到的唯一示例)[ mankier.com/1/secret-tool#Examples ]。
Randoogle

顺便说一句,它不是“ seahorse密码”,它是存储密码的gnome-keyring,而seahorse是访问此密钥环的GUI。
杰诺

Answers:


9

好吧,在进一步研究之后,似乎海马没有为“存储的密码”分配任何属性(我敢肯定,秘密工具无法在没有任何属性的情况下找不到密码)。我认为是这样的原因是,在海马中创建一个后,我查看了properties-> details,没有任何细节(即属性)。不过,我在海马中发现了其他一些详细信息,并且可以使用这些属性在秘密工具中查找它们。

看来,解决方案是使用secret-tool创建密码,为以后的唯一查找分配适当的属性。由于它们都在后台使用gnome-keyring,因此在密码工具中创建新密码后,新密码就会出现在海马中。

侏儒密钥似乎很乐意用相同的标签创建多个密码(只是不完全相同的属性,如果它们完全相同,它将替换它),所以一旦重新创建,就可以删除来自海马的旧的没用的。

$ secret-tool store --label=DomainPassword user sjohnson domain some.domain
Password: thisismypa$$w0rd
$ secret-tool lookup user sjohnson domain some.domain
thisismypa$$w0rd

我最初不想使用密码工具存储密码的原因是,我不知道如何通过密码工具将其作为登录密码(登录时可用)。看起来,只要“登录”是您的默认密钥库,秘密工具就会将其存储在其中。


5

我制作了一个实用程序lssecret,它使用libsecret列出了所有项,包括所有GNOME Keyring项。看起来libsecret会自动为每个项目添加一个键值对,但是Seahorse不在GUI中显示它们。这是lssecret的一些示例输出:

Collection: Login

Item:   Test Password
Secret: Tr0ub4dor&3
Key:    xdg:schema
Value:  org.gnome.keyring.Note

Item:   secret-tool item
Secret: s3cret-t00l
Key:    my key
Value:  my value
Key:    xdg:schema
Value:  org.freedesktop.Secret.Generic

Item:   Unlock password for: cueball@xkcd.com
Secret: correct horse battery staple
Key:    unique
Value:  ssh-store:/home/cueball/.ssh/id_rsa
Key:    xdg:schema
Value:  org.freedesktop.Secret.Generic

Item:   Network secret for GenericSSID/802-1x/password
Secret: S3cureW1f1Passw0rd
Key:    setting-name
Value:  802-1x
Key:    connection-uuid
Value:  6a762552-04b3-cd05-45ba-586688e0a029 
Key:    xdg:schema
Value:  org.freedesktop.NetworkManager.Connection
Key:    setting-key
Value:  password

GNOME密钥环将每个密钥环存储为秘密服务中的集合。您可以在输出中看到默认的密钥环Login。这些项目代表:

  1. 使用海马将密码添加到钥匙圈。描述为“测试密码”,实际密码为“ Tr0ub4dor&3”。
  2. 使用命令添加的项目secret-tool --label="secret-tool item" "my key" "my value",然后在提示中键入“ s3cret-t00l”。
  3. ssh密钥的密码,因此可以由gnome密钥环自动将其解锁。它是从命令行使用ssh-add添加的,然后在首次使用时选中“登录时自动解锁此密钥”框。
  4. 通过在NetworkManager连接编辑器中选择“仅为此用户存储密码”来添加wifi网络密码。

如您所见,使用Seahorse添加到密钥环的密码的密钥值对为“ xdg:schema”和“ org.gnome.keyring.Note”。您可以使用将它们全部列出secret-tool search --all xdg:schema org.gnome.keyring.Note


-1

我已经对其进行了测试,可以使用以下参数恢复密码:

秘密工具查找服务器“ ownCloud”

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.