我如何从 gnome-keyring 中检索我的 ssh 密码?

我如何从 gnome-keyring 中检索我的 ssh 密码?

我忘记了我的 ssh 私钥的密码,但它仍存储在 gnome-keyring 中,所以我觉得我应该能够恢复它。Seahorse 允许我从我的密钥环中恢复网站密码,但我找不到恢复 ssh 密码的方法。有人能告诉我怎么做吗?

答案1

经过一番搜索和争论,我找到了两个小的 Python 程序,它们完全符合我的要求。它们都能够转储 gnome-keyring 存储的所有密码,包括我的 ssh 密钥的密码。(当然,这是安全的,因为只有在我解锁密钥环后它才有效。)请参阅以下博客文章以获取代码:

https://blog.schmichael.com/2008/10/30/listing-all-passwords-stored-in-gnome-keyring/

https://ins3cure.blogspot.fr/2012/07/extracting-gnome-keyring-credentials.html

谢谢 Michael Schurter 和 Liviu。我现在只需更新密码短语,而不必在每个安装有旧 ssh 密钥的系统上费力地替换它。

答案2

您可以使用 Python 和secretstorage

import secretstorage

conn = secretstorage.dbus_init()
collection = secretstorage.get_default_collection(conn)
print(collection.is_locked())
collection.unlock()
for item in collection.get_all_items():
    print(item.get_label())
    print(item.get_attributes())
    print(item.get_secret())
    print("-" * 80)

答案3

如果 gnome-keyring 的工作方式与 ssh-agent 相同,则您不需要。一旦忘记密码,就无法恢复。它用于加密私钥,如果您忘记了它……那就完了。

如果它确实存储在内部,那么那就是另一个问题。

相关内容