답변을 얻기를 바랍니다https://unix.stackexchange.com/a/613772/320598도움이 될 것 같았지만 도움이 되지 않았다는 것을 알았습니다. 이 질문을 한 후 매우 비슷한 질문을 발견했습니다.https://stackoverflow.com/q/67001320/6607497). 기본적으로 동일한 문제가 있으며 답변으로 해결해야 하지만 그렇지 않습니다.
GPG 키를 로컬에서 생성하여 카드로 전송한 다음 키링에서 로컬 키를 삭제하고 공개 키(이전 내보내기에서)를 다시 가져왔습니다. 나는 모든 것이 괜찮다고 생각했습니다 (아래YubiKey의 OpenPGP 키, 내 생각에는) 키에 서명하려고 할 때까지:
gpg: 서명 실패: 키 없음
그래서 --card-status
전에 시도했습니다.
Reader ...........: Yubico YubiKey OTP FIDO CCID 00 00
Application ID ...: D2760001240103040006234727620000
Application type .: OpenPGP
Version ..........: 3.4
Manufacturer .....: Yubico
Serial number ....: 234XXXXX
Name of cardholder: UXXXXX WXXXX
Language prefs ...: de
Salutation .......: Mr.
URL of public key : [not set]
Login data .......: [not set]
Signature PIN ....: not forced
Key attributes ...: rsa4096 rsa4096 rsa4096
Max. PIN lengths .: 127 127 127
PIN retry counter : 3 0 3
Signature counter : 4
KDF setting ......: off
Signature key ....: AC...
created ....: 2023-01-26 21:05:14
Encryption key....: 6E...
created ....: 2023-01-26 21:07:30
Authentication key: 61...
created ....: 2023-01-26 21:11:18
General key info..: sub rsa4096/B5XXXXXXXXXXXXXX 2023-01-26 UXXXXX WXXXX (XXX)
sec# rsa4096/A5XXXXXXXXXXXXXX created: 2023-01-26 expires: 2025-01-25
ssb> rsa4096/B5XXXXXXXXXXXXXX created: 2023-01-26 expires: 2025-01-25
card-no: 0006 234XXXXX
ssb> rsa4096/A1XXXXXXXXXXXXXX created: 2023-01-26 expires: 2025-01-25
card-no: 0006 234XXXXX
ssb> rsa4096/11XXXXXXXXXXXXXX created: 2023-01-26 expires: 2025-01-25
card-no: 0006 234XXXXX
내 키를 확인 하는 데 사용하면 --edit-key
다음과 같은 결과가 표시됩니다(일부 세부 정보가 편집됨 X
).
gpg (GnuPG) 2.2.27; Copyright (C) 2021 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Secret subkeys are available.
pub rsa4096/A5XXXXXXXXXXXXXX
created: 2023-01-26 expires: 2025-01-25 usage: C
trust: ultimate validity: ultimate
ssb rsa4096/B5XXXXXXXXXXXXXX
created: 2023-01-26 expires: 2025-01-25 usage: S
card-no: 0006 234XXXXX
ssb rsa4096/A1XXXXXXXXXXXXXX
created: 2023-01-26 expires: 2025-01-25 usage: E
card-no: 0006 234XXXXX
ssb rsa4096/11XXXXXXXXXXXXXX
created: 2023-01-26 expires: 2025-01-25 usage: A
card-no: 0006 234XXXXX
[ultimate] (1). UXXXXX WXXXX (XXX)
그래서 제 생각엔 이게 좋은 것 같아요.
그러나 키에 서명하려고 하면 다음과 같은 메시지가 나타납니다.
sec rsa3072/1CXXXXXXXXXXXXXX
created: 2023-01-28 expires: 2025-01-27 usage: C
trust: ultimate validity: ultimate
ssb rsa3072/C1XXXXXXXXXXXXXX
created: 2023-01-28 expires: 2025-01-27 usage: S
ssb rsa3072/99XXXXXXXXXXXXXX
created: 2023-01-28 expires: 2025-01-27 usage: E
ssb rsa3072/DEXXXXXXXXXXXXXX
created: 2023-01-28 expires: 2025-01-27 usage: A
[ultimate] (1). UXXXXX WXXXX <XXX>
[ultimate] (2) UXXXXX WXXXX (Work)
Really sign all user IDs? (y/N) y
sec rsa3072/1CXXXXXXXXXXXXXX
created: 2023-01-28 expires: 2025-01-27 usage: C
trust: ultimate validity: ultimate
Primary key fingerprint: E1...
UXXXXX WXXXX <XXX>
UXXXXX WXXXX (Work)
This key is due to expire on 2025-01-27.
Are you sure that you want to sign this key with your
key "UXXXXX WXXXX (XXX)" (A5XXXXXXXXXXXXXX)
Really sign? (y/N) y
gpg: signing failed: No secret key
gpg: signing failed: No secret key
Key not changed so no update needed.
복구하려면 어떻게 해야 하며, 카드에 키를 설정할 때 저지를 가능성이 가장 높은 실수는 무엇입니까?
것 같다https://unix.stackexchange.com/a/393166/320598작동하지 않는 이유가 설명되어 있지만 원인은 무엇입니까?
답변1
문제는 참조 문서의 6단계에 있는 부정확하거나 불분명한 지침으로 인해 발생한 것 같습니다.
Unplug the YubiKey, delete the card-migrated keys, and re-import your backed up private keys.
gpg --delete-secret-and-public-key XXXXXXXXXXXXXXXX
gpg --import XXXXXXXXXXXXXXXX_secret.asc
At this point you should shutdown, offline, and safely store your offline keys.
Go to your regular online computer and import the public key and subkeys. Then plug in the YubiKey and check the YubiKey’s card status to connect that YubiKey to the matching public key and subkeys.
gpg --import XXXXXXXXXXXXXXXX_public.asc
gpg --card-status
안 돼"오프라인 키를 안전하게 저장" 오다앞으로 gpg --delete-secret-and-public-key XXXXXXXXXXXXXXXX
?
해결책 (음, 거의)
그래서 다음을 사용하여 키 백업을 가져왔고 gpg --import A5XXXXXXXXXXXXXX_sec.asc
이제 출력은 다음과 같습니다.
gpg (GnuPG) 2.2.27; Copyright (C) 2021 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Secret key is available.
sec rsa4096/A5XXXXXXXXXXXXXX
created: 2023-01-26 expires: 2025-01-25 usage: C
trust: ultimate validity: ultimate
ssb rsa4096/B5XXXXXXXXXXXXXX
created: 2023-01-26 expires: 2025-01-25 usage: S
card-no: 0006 234XXXXX
ssb rsa4096/A1XXXXXXXXXXXXXX
created: 2023-01-26 expires: 2025-01-25 usage: E
card-no: 0006 234XXXXX
ssb rsa4096/11XXXXXXXXXXXXXX
created: 2023-01-26 expires: 2025-01-25 usage: A
card-no: 0006 234XXXXX
[ultimate] (1). UXXXXX WXXXX (XXX)
하지만 키가 로컬 키링에 복사되었는지는 확실하지 않습니다(YubiKey에 저장되는 것 제외). 사실 그렇습니다. YubiKey PIN을 건드리지 않고도 확인하지 않고도 키에 서명할 수 있습니다.