Восстановить старую версию связки ключей iCloud

Я сохранил важный пароль в связке ключей iCloud, потом удалил его там, а потом забыл пароль. Довольно глупо, я знаю. Тем не менее, возможно ли как-то получить более старую версию этой цепочки для ключей, которая все еще хранит пароль?

Вы используете машину времени
@markhunte Да, но как это поможет?
Я сейчас не перед своим Mac. Но если вы зайдете в свою пользовательскую библиотеку, а затем в брелки. Выберите папку keychains и сделайте резервную копию вручную. Т.е. сделать копию куда-нибудь. Затем откройте исходную папку связки ключей. Зайдите в timemachine и используйте его, чтобы попытаться найти дату, когда у вас был пароль. Это должно позволить вам восстановить папку. И тогда вы сможете восстановить пароль. (Запишите это) Затем вы можете вернуться к версии, сделанной сегодня, на машине времени. Если это сработает, дайте мне знать, и я добавлю его в качестве ответа, когда буду перед своим Mac.

Ответы (5)

Я только что столкнулся с такой же ситуацией, и, к сожалению, вы не можете восстановить связку ключей iCloud из собственной резервной копии.

См. примечание службы поддержки Apple по теме https://support.apple.com/kb/PH20120 , в частности:

Пароли, хранящиеся в связке ключей iCloud, зашифрованы и хранятся на вашем компьютере, и их невозможно скопировать.

Как и вы, я пытался копировать другие файлы цепочки для ключей и файлы «keychain-db», но ни один из паролей iCloud не содержался в них.

Я только что смог это сделать. Вот процедура, которую я прошел. Я подозреваю, что некоторые из этих шагов могут быть посторонними, но у меня не было времени на эксперименты, поэтому я решился на ядерное:

  1. Удалил MacBook из сети - отсоединил кабель, выключил AirPort
  2. Вышел из аккаунта.
  3. Войдите в систему как другой пользователь-администратор и восстановите каталог iCloud Keychain для оригинала, который, к сведению, называется случайным UUID, например, 48579CB8-D696-401C-913F-E3F87181CFD2, и находится в /Users//Library/Keychains/. Очевидно, для этого вам понадобится sudo.
  4. Перезапустил и вошел в исходную учетную запись
  5. Открыл Keychain Access, нашел соответствующий ключ, скопировал пароль и т. д. во временное место.
  6. Повторил шаги со 2 по 4, но вместо этого восстановил самую последнюю версию связки ключей iCloud.

Итак, мне удалось получить ключ, случайно удаленный из резервной копии, но с вытекающими отсюда странностями:

Во-первых, я начал получать push-уведомления о том, что мои пароли неверны для моих стандартных учетных записей Mail, Contacts & Calendar.

Затем я открыл доступ к связке ключей и заметил, что связка ключей iCloud снова стала локальными элементами (это ее название, если вы не используете связку ключей iCloud).

Наконец, я зашел в настройки iCloud и заметил, что связка ключей iCloud теперь отключена. Итак, что-то в моей процедуре вызвало это. Я снова включил его, дал ему минуту, и все было в порядке в мире.

За исключением... Мне пришлось снова включить разблокировку Mac с помощью часов. Предположительно, это не восстанавливается из связки ключей iCloud, что имеет смысл.

Вот процедура, которую я выполнил, которая позволила мне восстановить старый случайно перезаписанный пароль в моей цепочке для ключей (в моем случае Safari предложил новый пароль и спросил, хочу ли я обновить пароль в своей цепочке для ключей до того, как веб-сайт, на котором я менял свой пароль, отклонил мой Новый пароль). Мне было проще сделать метод, описанный jaydisc. Этот метод зависит от использования резервных копий Time Machine, но, поскольку многие пользователи Mac будут иметь несколько дней локальных резервных копий на своей машине, это часто работает.

  1. Перейдите в мой каталог ~/Library/Keychains. Существуют каталоги с длинными UUID, которые содержат связку ключей iCloud (например, 871ED613-9835-5A2A-883B-1D25F123686F). Определите каталог, соответствующий вашей текущей учетной записи iCloud — в моем случае таких каталогов было несколько, но только в одном из них был недавно обновленный файл keychain-2.db.

  2. Отключитесь от сети и закройте приложение Keychain Access.

  3. Переименуйте каталог связки ключей iCloud во что-то другое.

  4. Откройте Time Machine и перейдите в каталог ~/Library/Keychains. Перейдите к резервной копии до момента потери/изменения пароля. Восстановите каталог связки ключей iCloud.

  5. Выход из машины времени. На этом этапе, если вы запустите приложение Keychain Access, вы не сможете получить доступ к паролям, хранящимся в вашей связке ключей iCloud — MacOS требуется доступ к сети, чтобы разблокировать восстановленный файл связки ключей.

  6. Выйти из доступа к связке ключей. Включите сеть и быстро запустите Keychain Access. Нажмите на свою связку ключей iCloud, чтобы убедиться, что вы видите элементы, хранящиеся в ней. Быстро отключитесь от сети, прежде чем ОС сможет синхронизировать только что восстановленную локальную связку ключей с тем, что хранится в iCloud. Найдите сохраненный пароль в восстановленной связке ключей.

  7. Если вы хотите вернуться к самой последней версии связки ключей, прежде чем вернуться к старой, которую вы восстановили, снова закройте доступ к связке ключей. Скопируйте имя каталога связки ключей iCloud, удалите его и переименуйте старую версию каталога связки ключей iCloud в имя, которое вы скопировали.

В моем случае сетевые пароли аэропорта были удалены из-за какой-то ошибки синхронизации iCloud. Я успешно выполнил ответ jaydisc, но на самом деле я хотел восстановить ключи вместо того, чтобы копировать отдельные пароли. Я нашел способ сделать это.

После того, как я восстановил предыдущий каталог цепочки для ключей ( Library/Keychains/<UUID>), используя ответ jaydisc, как только Mac подключился к Интернету, он «обновился» до версии с удаленными ключами.

Однако перед повторным подключением к Интернету, если бы я обновил дату модификации каждого ключа, я обнаружил, что ключи останутся в связке ключей после повторного подключения к Интернету.

В случае с моими сетевыми паролями в аэропорту я обновил Whereатрибут каждого ключа с AirPortна что-то другое, а затем изменил их обратно на AirPort. Это помечало каждый ключ как недавно измененный и позволяло им выжить при обратном подключении к Интернету.

Восстановить либо ~Users/[User]/Library/Keychains/login.keychainили ~Library/Keychains/System.keychain(выберите опцию «Сохранить оба» в Time Machine)

Откройте только что восстановленный файл с помощью приложения KeyChain Access.

Вы сможете открывать старые записи в восстановленном файле и копировать или экспортировать их в живую связку ключей.

Это для связки ключей входа, а не связки ключей iCloud.