Экспорт в файл:

Экспорт в файл:

Я перешел на другой Macbook. Из-за дорогих SSD и действительно меньшего размера диска, и потому что я хотел начать с чистого листа с этой установкой, я не смог перенести папку пользователя. У меня есть старый диск во внешнем корпусе, и видите ли, я забыл экспортировать два закрытых ключа. Я хотел бы восстановить их с внешнего диска или из Time Machine.

Где я могу найти закрытые ключи GPG Tools, чтобы экспортировать их или скопировать всю папку GPG Tools?

решение1

По умолчанию связки ключей GnuPG хранятся в (скрытой) папке ~/.gnupg; другими словами, в .gnupgпапке в вашем домашнем каталоге. Вы можете просто скопировать всю папку на новую машину. Если GnuPG после этого не работает должным образом или выдает сообщение об ошибке, указывающее на нарушенные права доступа, обязательно возьмите на себя роль владельца (даже если ваше имя пользователя то же самое, внутренние идентификаторы могут отличаться), выполнив следующую команду в приложении Терминал (оно запросит ваш пароль пользователя):

sudo chown -R $USER:staff ~/.gnupg

Кроме того, вы можете экспортировать свои секретные ключи с помощью

gpg --export-secret-keys [key-id] >secret-keys.gpg

команда. Поскольку вы хотите восстановить ключи со старого диска, подключите его к компьютеру. Для работы с ключевой связкой GnuPG старого диска используйте опцию --homedir, которая приведет к чему-то вроде

gpg --homedir /Volumes/[old-disks-name]/Users/[username]/.gnupg --list-secret-keys

для перечисления доступных секретных ключей и

gpg --homedir /Volumes/[old-disks-name]/Users/[username]/.gnupg --export-secret-keys [key-id] > secret-keys.gpg

для их экспорта. Вы также можете напрямую импортировать их в новую связку ключей GnuPG вместо сохранения в промежуточном файле (обратите внимание на отсутствующий --homedirпараметр в вызове GnuPGпослетруба):

gpg --homedir /Volumes/[old-disks-name]/Users/[username]/.gnupg --export-secret-keys [key-id] | gpg --import

Обновление для 2019 года / macOS Catalina:

Резервные копии Time Machine можно монтировать, но их нельзя изменять на месте. Это означает, что chown не удастся, и вы не сможете использовать опцию --homedirс gpg, не получив поток этого:

gpg: failed to create temporary file '/Volumes/<Backup Drive>/Backups.backupdb/<Compute Name>/Latest/Macintosh HD/Users/<name>/.gnupg/': Permission denied
gpg: can't connect to the agent: Permission denied

Chown завершится ошибкой с потоком сообщений вроде этого:

$ sudo chown -R user:staff .gnupg

chown: .gnupg/tofu.db: Operation not permitted
chown: .gnupg/trustdb.gpg: Operation not permitted
chown: .gnupg: Operation not permitted

Скопируйте папку .gnupg из резервной копии Time Machine, выполните команду chown и просмотрите/извлеките закрытые ключи, как указано выше:

$ mkdir ~/gpg_recovery
$ cp -r /Volumes/<Backup Drive>/Backups.backupdb/<Compute Name>/Latest/Macintosh HD/Users/<name>/.gnupg ~/gpg_recovery/
$ cd ~/gpg_recovery/
$ sudo chown -R $USER:staff .gnupg
Password:
$ gpg --homedir ~/gpg_recovery/.gnupg --list-secret-keys

$ gpg --homedir ~/gpg_recovery/.gnupg --export-secret-keys | gpg --import
gpg: key xxxxxxxxxxxxxxxx: public key "xxxxxxxxxxxxxxxxxxxxxxx" imported
gpg: key xxxxxxxxxxxxxxxx: secret key imported
gpg: Total number processed: 1
gpg:               imported: 1
gpg:       secret keys read: 1
gpg:   secret keys imported: 1

решение2

Окна

В системах Windows вы можете использовать такое программное обеспечение, какGpg4win. В этом случае вы можете перенести свои (закрытые) ключи, скопировав следующие файлы на новый компьютер:

  • Файл%AppData%\gnupg\pubring.kbx
  • Файл%AppData%\gnupg\trustdb.gpg
  • Вся папка%AppData%\gnupg\private-keys-v1.d

Чтобы получить список текущих распознанных (установленных) локальных ключей, используйте gpg --list-secret-keys --keyid-format LONG. Протестировано с gpg (GnuPG) 2.3.4 (2021), установленным черезGpg4win4.0.0.

решение3

Небольшое дополнение к ответу @jens-erat:

Экспорт в файл:

gpg --output private_keys.backup --armor --export-secret-keys

SSH-импорт

gpg --export-secret-key SOMEKEYID | ssh othermachine gpg --import

ссылка:Как экспортировать закрытый ключ GPG и открытый ключ в файл

Связанный контент