Как я могу получить мою парольную фразу ssh из gnome-keyring?

Я забыл пароль для моего закрытого ключа ssh, но он все еще хранится в gnome-keyring, поэтому мне кажется, что я смогу его восстановить. Seahorse позволяет мне восстановить пароли веб-сайтов из моего набора ключей, но я не вижу способа восстановить мою парольную фразу ssh. Может кто-нибудь сказать мне, как это сделать?

3 ответа

Решение

После некоторых поисков и споров, появились две маленькие программы на Python, которые делают именно то, что мне нужно. Оба смогли сбросить все пароли, которые хранятся в gnome-keyring, включая парольную фразу моего ключа ssh. (Конечно, это безопасно, потому что это работает только после того, как я разблокировал свою связку ключей.) См. Эти сообщения в блоге для кода:

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

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

Спасибо, Майкл Шуртер и Ливиу. Теперь я могу просто обновить свою фразу-пароль вместо того, чтобы пытаться заменить мой старый ключ ssh в каждой системе, где он установлен.

Вы можете использовать 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)

Если gnome-keyring работает так же, как ssh-agent, то нет. Пароль не может быть восстановлен, как только он забыт. Он используется для шифрования закрытого ключа, и если вы забудете его... ну вот и все.

Если он действительно хранится внутри, то это другая проблема.

Другие вопросы по тегам