Как перенести частный и открытый ключи pgp на другой компьютер?

Я читал эту статью, которая очень хорошо объясняла, как настроить pgp на osx, но я планирую использовать сгенерированные ключи для подписания git фиксируется, поэтому я полагаю, что мне нужно перенести ключи на другой компьютер. Это верно? и если да, то как мне перейти на передачу ключей?

Ответ 1

Да, вам нужно будет перенести ключи. Mac и Linux работают одинаково, сохраняя ключи в ~/.gnupg. Самый безопасный способ передачи файлов - использовать scp (часть ssh):

scp -rp ~/.gnupg othermachine:

Однако сначала вам понадобится ssh.

Передача их, скажем, флэш-накопителя USB, не такая уж отличная идея, потому что ваш личный ключ останется на этом диске даже после того, как вы удалите файл. Хотя он защищен парольной фразой, если кто-то достал копию ключевого файла, они могли бы наложить на него многократную атаку грубой силы при их заражении.

Я не знаю о расположении каталога в Windows. Документация gpg скажет, и содержимое почти наверняка будет таким же.

Копирование всего брелка происходит быстро и просто, но иногда вы хотите, чтобы иметь возможность перемещать отдельные клавиши между машинами, не перезаписывая весь брелок и не теряя ключи, которые уже есть. Копирование отдельных клавиш выборочно можно выполнить с помощью gpg --export-secret-key и gpg --import. Если у вас есть доступ ssh к машине назначения, вы можете сделать это с помощью канала и не нужно хранить промежуточный ключ в любом месте:

Если вы находитесь на машине, у которой уже есть ключ:

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

Если вы находитесь на машине, которой нужен ключ:

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

Если gpg не находится в одном из мест по умолчанию на удаленном компьютере (например, в /opt/local/bin на Mac), вам нужно будет указать полный путь к ssh или поместить его в один из стандартные места, такие как /usr/local/bin.

Обратите внимание, что переданные данные по-прежнему защищены парольной фразой, и ключ будет иметь ту же кодовую фразу, что и в источнике. Если вы хотите иметь разные фразы в каждом месте, вам нужно будет изменить кодовую фразу в пункте назначения или временно изменить источник, прежде чем экспортировать его. Мне нужно было поделиться секретным ключом с коллегой, чтобы дать ему возможность обновлять репо-пакет Debian, который мы обоим управляем, но я не хотел делиться с ним кодовой фразой. Поэтому я изменил кодовую фразу на что-то временное, отправил ему экспортированный ключ (по электронной почте, зашифрованный gpg!), Сказал ему временную кодовую фразу, и попросил его установить новую кодовую фразу сразу после импорта ключа. Затем я изменил кодовую фразу на моей копии ключа обратно на то, что было изначально.

Ответ 2

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