Как я могу получить мою парольную фразу 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, то нет. Пароль не может быть восстановлен, как только он забыт. Он используется для шифрования закрытого ключа, и если вы забудете его... ну вот и все.
Если он действительно хранится внутри, то это другая проблема.