공개 키 누락으로 인해 apt를 사용한 Sublime Text 설치 실패

공개 키 누락으로 인해 apt를 사용한 Sublime Text 설치 실패

저는 sublime-text를 설치하기 위한 적절한 설정을 위해 아래 링크된 지침을 사용하고 있습니다. Sublime을 타사 저장소의 예로 사용하여 Debian 및 Stackexchange 페이지에 설명된 타사 저장소를 연결하는 방법을 의도적으로 적용했습니다.

https://www.sublimetext.com/docs/linux_repositories.html

https://wiki.debian.org/DebianRepository/UseThirdParty

타사 저장소를 추가하는 방법. 데비안의 키?

그러나 실행할 때 apt update암호화 키와 관련하여 다음 오류가 발생합니다.

The following signatures couldn't be verified because the public key is not available: NO_PUBKEY F57D4F59BD3DF454

이것이 내가 하는 일이다:

키를 다운로드하고, 키를 ASCII에서 바이너리로 변환하고, 키를 공유 위치로 이동합니다.

curl https://download.sublimetext.com/sublimehq-pub.gpg | gpg --dearmor > ~/Downloads/sublime-keyring.gpg
sudo mkdir -vp /usr/local/share/keyrings/
sudo mv -v ~/Downloads/sublime-keyring.gpg /usr/local/share/keyrings/sublime-keyring.gpg
sudo chown -v root:root /usr/local/share/keyrings/sublime-keyring.gpg
sudo chmod -v 0640 /usr/local/share/keyrings/sublime-keyring.gpg

소스 목록을 생성합니다:

printf "deb [signed-by=/usr/local/share/keyrings/sublime-keyring.gpg] https://download.sublimetext.com/ apt/stable/" | sudo tee /etc/apt/sources.list.d/sublime-text.list

저장소 사용을 제한하는 고정 규칙을 설정하십시오.

printf "%s\n" "Package: *" "Pin: origin download.sublimetext.com" "Pin-Priority: 1" "" "Package: sublime-text" "Pin: origin download.sublimetext.com" "Pin-Priority: 500" | sudo tee /etc/apt/preferences.d/sublime-text.pref

그런 다음 sudo apt updateSublime Text 저장소와 관련하여 다음 출력을 생성하여 실행합니다.

Get:1 https://download.sublimetext.com apt/stable/ InRelease [2.536 B]                                                                    
Err:1 https://download.sublimetext.com apt/stable/ InRelease                                                                                     
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY F57D4F59BD3DF454

W: GPG error: https://download.sublimetext.com apt/stable/ InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY F57D4F59BD3DF454
E: The repository 'https://download.sublimetext.com apt/stable/ InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.

gpg의 debug 를 사용하여 실행하면 sudo apt -o Debug::Acquire::gpgv=True update더 자세한 정보를 얻을 수 있습니다.

Get:1 https://download.sublimetext.com apt/stable/ InRelease [2.536 B]                                                                   
0% [Waiting for headers] [Waiting for headers]inside VerifyGetSigners                                                                    
Preparing to exec:  /usr/bin/apt-key --quiet --readonly --keyring /usr/local/share/keyrings/sublime-keyring.gpg verify --status-fd 3 /tmp/apt.sig.zwA50y /tmp/apt.data.zbzsmw
Read: [GNUPG:] NEWSIG

Read: [GNUPG:] ERRSIG F57D4F59BD3DF454 1 8 01 1627009220 9 -

Got ERRSIG F57D4F59BD3DF454 !
Read: [GNUPG:] NO_PUBKEY F57D4F59BD3DF454

Got NO_PUBKEY F57D4F59BD3DF454 !
gpgv exited with status 2
Summary:
  Good: 
  Valid: 
  Bad: 
  Worthless: 
  SoonWorthless: 
  NoPubKey: NO_PUBKEY F57D4F59BD3DF454
  Signed-By: 
  NODATA: no
Err:1 https://download.sublimetext.com apt/stable/ InRelease
  The following signatures couldn't be verified because the public key is not available: NO_PUBKEY F57D4F59BD3DF454

W: GPG error: https://download.sublimetext.com apt/stable/ InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY F57D4F59BD3DF454
E: The repository 'https://download.sublimetext.com apt/stable/ InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.

이는 apt가 내가 다운로드한 키의 위치를 ​​올바르게 전달한다는 의미라는 것을 읽었습니다. 이는 gpg가 키의 내용을 읽을 수 없음을 의미할 수 있습니다. 아니면 탈형 과정에서 키가 손상되어 더 이상 의도한 내용이 없을 수도 있습니다. 이는 순전히 내 추측이다.

Dear Key를 확인하면 sudo gpg --show-keys /usr/local/share/keyrings/sublime-keyring.gpg다음과 같은 정보가 나오는데, 이는 올바른 것 같습니다.

pub   rsa4096 2017-05-08 [SCEA]
      1EDDE2CDFC025D17F6DA9EC0ADAE6AD28A8F901A
uid                      Sublime HQ Pty Ltd <[email protected]>
sub   rsa4096 2017-05-08 [S]

언급되지는 않았지만 키를 읽을 수 있습니다 F57D4F59BD3DF454.

그럼 무엇이 잘못됐나요? 어떻게 하면 제대로 작동하게 할 수 있나요?

답변1

공개 키 파일을 읽는 모든 프로세스에 root액세스 권한이 있다고 가정합니다. 그러나 그것은 사실이 아닐 수도 있다는 것이 밝혀졌습니다.

권한을 설정하면 0640제가 보고한 문제가 발생하고, 설정하면 0644문제가 해결되기 때문입니다.

업데이트된 명령은 다음과 같습니다.

sudo chmod -v 0644 /usr/local/share/keyrings/sublime-keyring.gpg

이번 변경으로 질문에 설명된 프로세스를 사용하여 Sublime Text를 업데이트하고 설치할 수 있었습니다.

답변2

뭔가 빠졌을 수도 있지만 gpg를 사용하여 모든 단계를 수행할 필요는 없다고 생각합니다. 다음 줄은 내 시스템의 키를 설치합니다.

wget -qO - https://download.sublimetext.com/sublimehq-pub.gpg | sudo apt-key add -

언급한 첫 번째 URL에 잘 설명되어 있습니다.

답변3

편집자 주:

이것해결책정답도 아니고 전혀 해결책도 아닙니다. 사용하지 마십시오!


동일한 문제가 있습니다. 오류는 다음과 같습니다.

Err:2 https://download.sublimetext.com apt/stable/ InRelease
  The following signatures couldn't be verified because the public key is not available: NO_PUBKEY F57D4F59BD3DF454

[trusted=yes]해결책은 /etc/apt/sources.list.d/sublime-text.list 파일에 옵션을 추가하는 것입니다.

deb [trusted=yes] https://download.sublimetext.com/ apt/stable/

실제로 문제가 해결되지는 않고 "잘못된 키"가 계속 표시되지만 apt-get install sublime-text완벽하게 수행할 수 있습니다.

다음은 실행할 때 받는 메시지입니다 apt update.

apt update                                
Get:2 https://download.sublimetext.com apt/stable/ InRelease [2,536 B]                         
Ign:2 https://download.sublimetext.com apt/stable/ InRelease
Get:3 https://download.sublimetext.com apt/stable/ Packages [6,373 B]
Fetched 6,373 B in 3s (2,482 B/s)    
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
1861 packages can be upgraded. Run 'apt list --upgradable' to see them.
W: GPG error: https://download.sublimetext.com apt/stable/ InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY F57D4F59BD3DF454

관련 정보