"pass" 비밀번호 관리자에 비밀번호를 추가해 보았습니다. 그러나 내 시도는 "공개 키 없음" GPG 오류로 인해 실패했습니다. 왜?

"pass" 비밀번호 관리자에 비밀번호를 추가해 보았습니다. 그러나 내 시도는 "공개 키 없음" GPG 오류로 인해 실패했습니다. 왜?

설치하려고 하는데통과: 표준 Unix 비밀번호 관리자하지만 애플리케이션에 비밀번호를 추가하려고 하면 다음 오류가 발생합니다.

gpg: Kelly's Passwords: skipped: No public key
gpg: [stdin]: encryption failed: No public key

GPG 공개 키?

명령을 입력하면 다음과 같은 결과 gpg --list-keys가 나타납니다.

/home/khays/.gnupg/pubring.gpg
------------------------------
pub   2048R/64290B2D 2012-11-05
uid                  Kelly Hays <[email protected]>
sub   2048R/0DF57DA8 2012-11-05

이 문제를 해결하는 방법에 대해 조금 모르겠습니다. 어떤 아이디어가 있습니까?

답변1

비밀번호 저장소는 어떻게 만들었나요? ? pass init "Kelly's Passwords"그렇다면 이는 잘못된 것이므로 에 전화해야 합니다 pass init 64290B2D.

그렇다면 pass insert foo실패합니다.

gpg: fooo: skipped: public key not found
gpg: [stdin]: encryption failed: public key not found

그런 다음 먼저 자신의 키( gpg --edit-key 64290B2D, trust, 5, save)를 신뢰해야 합니다.

답변2

동일한 표시가 주어지면 누군가가 이 문제를 우연히 발견하면 해결책이 다를 수 있습니다. 대신 키를 생성/관리하는 데 사용했을 수 있는 을(또는 그 반대로) 사용 pass하고 있습니다 . 확인하다:gpg2gpg

bash -x $(which pass) insert foo

답변3

이것은말아 올리다위 정보는 제가 Kubuntu 20.04(Ubuntu Linux v 20.04 with KDE Desktop)에서 pass사용하는 정보입니다.gpg2

passLinux CLI 비밀번호 관리자입니다.

개략적인 보기: pass공개 키가 필요합니다 gpg. gpgLinux CLI 암호화 프로그램입니다. 여러 버전이 있습니다. 쿠분투 20.04에서는 이를 사용 gpg2하지만 그냥 "gpg"라고 부릅니다.

먼저 gpg키를 생성해야 합니다. 그런 다음 key-id를 pass매개변수로 전달합니다. 그 후에~해야 한다일하다.

키 생성:

~$ gpg --gen-key

반짝이는 새 키를 살펴보세요.

~$ gpg --list-keys

pub   rsa3072 2022-07-17 [SC] [expires: 2024-07-16]
      YourKey (a bunch of letters and numbers)
uid           [trust-level] yourName <[email protected]>
sub   rsa3072 2022-07-17 [E] [expires: 2024-07-16]

머신에 새 키를 신뢰하도록 지시해야 합니다.

gpg --edit-key yourName [email protected], trust, 5, save)

(신뢰가 자동으로 [최종]으로 설정되었으므로 이 단계는 실제로 나에게 필요하지 않았습니다. 하지만 그렇게 해서 나쁠 것은 없었습니다.)

이제부터 pass다음 페이지를 계속 탐색할 수 있습니다. https://www.passwordstore.org/

------ "dev"라는 폴더에 있는 docker의 비밀번호는 다음과 같습니다. ------

비밀번호 저장 초기화:

~$ pass init [email protected]
Password store initialized for [email protected]

비밀번호 저장소를 만듭니다.

~$ pass insert dev/docker
mkdir: created directory '/home/$USER/.password-store/dev'
Enter password for dev/docker: 
Retype password for dev/docker:

올바른 비밀번호를 입력했나요? -

~$ pass dev/docker
thisIsTheWrongPassword!

잘못된 비밀번호 제거 -

~$ pass rm dev/docker
Are you sure you would like to delete dev/docker? [y/N] y
removed '/home/$USER/.password-store/dev/docker.gpg'

올바른 비밀번호를 입력하세요

~$ pass insert dev/docker
mkdir: created directory '/home/$USER/.password-store/dev'
Enter password for dev/docker: 
Retype password for dev/docker:

두 번째로 비밀번호가 올바른지 확인하세요.

~$ pass dev/docker
doNotExposeYourPasswordOnStackExchange!

pass를 사용하여 CLI를 통해 Docker Hub에 로그인할 수 있습니다.

pass dev/docker | login -u myUserName --password-stdin

그러면 암호를 화면에 인쇄하지 않고 Docker Hub로 직접 연결됩니다.

답변4

pass init <gpg-id>새 비밀번호 저장소를 초기화하고 암호화에 gpg-id를 사용하는 것을 잊지 마세요 . 당신 만첫 번째오직.

pass add <folder/file> 위의 비밀번호 저장소에 새 비밀번호를 추가하는 데 사용됩니다 .

$ pass init tsabunkar (storage-manager should be done first time only)
$ pass add personal/gmail (adding my gmail creds)

이제 대신 다른 자격 증명을 추가하려면 다음을 수행하세요.

$ pass add personal/linux

이제 또 다른 자격 증명을 추가하고 싶지만 이번에는 init대신 명령을 사용합니다.add

$ pass init personal/aws/root

하지만 그 선택이 다음과 같아야 한다는 것을 깨닫게 됩니다.add

$ pass add personal/aws/root

에러 메시지:

Enter password for personal/aws/root: 
Retype password for personal/aws/root: 
gpg: personal/aws/root: skipped: No public key
gpg: [stdin]: encryption failed: No public key
Password encryption aborted.

이제 당신이 잘못 인용했기 때문에 이것이 이해되었다고 생각합니다.비밀번호 저장그랬어야 했어차벤카하지만개인/aws/루트 따라서 올바른 비밀번호 저장소를 다시 참조하면 문제가 해결됩니다.

$ pass init tsabunkar
$ pass add personal/aws/root

관련 정보