ファイルにエクスポート:

ファイルにエクスポート:

別の Macbook に切り替えました。高価な SSD と非常に小さいディスク サイズのため、またこのインストールでクリーンな状態から開始したかったため、ユーザー フォルダーを転送できませんでした。外部ケースに古いディスクを接続しましたが、2 つの秘密鍵をエクスポートし忘れていました。外部ディスクまたは Time Machine からそれらを復元したいと思います。

GPG Tools の秘密キーはどこにありますか? エクスポートしたり、GPG Tools フォルダー全体をコピーしたりできますか?

答え1

デフォルトでは、GnuPG キーリングは (隠し) フォルダー~/.gnupg(つまり、.gnupgホーム ディレクトリ内のフォルダー) に保存されます。フォルダー全体を新しいマシンにコピーするだけで済みます。その後、GnuPG が正しく動作しなくなったり、権限が壊れていることを示すエラー メッセージが表示されたりした場合は、ターミナル アプリケーションで次のコマンドを実行して所有権を取得してください (ユーザー名が同じでも、内部 ID は異なる場合があります) (ユーザー パスワードを照会します)。

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キーリングに直接インポートすることもできます(--homedirGnuPG呼び出しのパラメータが欠落していることに注意してください)。パイプ):

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

Time Machine バックアップから .gnupg フォルダをコピーし、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 秘密鍵と公開鍵をファイルにエクスポートする方法

関連情報