파일로 내보내기:

파일로 내보내기:

다른 맥북으로 옮겼습니다. 값비싼 SSD와 매우 작은 디스크 크기, 그리고 이번 설치로 깔끔하게 시작하고 싶었기 때문에 사용자 폴더를 전송할 수 없었습니다. 외부 케이스에 기존 디스크가 연결되어 있는데 두 개의 개인 키를 내보내는 것을 잊어버렸습니다. 외부 디스크나 Time Machine에서 복원하고 싶습니다.

GPG 도구 개인 키를 어디에서 찾아 내보내거나 전체 GPG 도구 폴더를 복사할 수 있습니까?

답변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 업데이트:

타임머신 백업은 마운트할 수 있지만 제자리에서 수정할 수는 없습니다. 이는 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 개인 키와 공개 키를 파일로 내보내는 방법

관련 정보