web-dev-qa-db-ja.com

Gitlab Debianリポジトリの公開鍵が利用できない

「Sudo apt update」を実行すると、次のエラーが発生します。

user@gitlab:~$ Sudo apt update
Hit:1 http://security.debian.org/debian-security stretch/updates InRelease
Ign:2 http://ftp.fi.debian.org/debian stretch InRelease
Hit:3 http://ftp.fi.debian.org/debian stretch-updates InRelease
Hit:4 http://ftp.fi.debian.org/debian stretch Release
Get:6 https://packages.gitlab.com/gitlab/gitlab-ee/debian stretch InRelease [23.3 kB]
Err:6 https://packages.gitlab.com/gitlab/gitlab-ee/debian stretch InRelease
  The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 3F01618A51312F3F
Fetched 23.3 kB in 2s (11.0 kB/s)
Reading package lists... Done
Building dependency tree
Reading state information... Done
All packages are up to date.
W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: https://packages.gitlab.com/gitlab/gitlab-ee/debian stretch InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 3F01618A51312F3F
W: Failed to fetch https://packages.gitlab.com/gitlab/gitlab-ee/debian/dists/stretch/InRelease  The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 3F01618A51312F3F
W: Some index files failed to download. They have been ignored, or old ones used instead.
3
Stuggi

問題は、Gitlabインストールスクリプトによってインストールされたキーの有効期限が切れていることです。これはSudo apt-key listを実行して確認できます

user@gitlab:~$ Sudo apt-key list
/etc/apt/trusted.gpg
--------------------
pub   rsa4096 2015-04-17 [SC] [expired: 2020-04-15]
      1A4C 919D B987 D435 9396  38B9 1421 9A96 E15E 78F4
uid           [ expired] GitLab B.V. (package repository signing key) <[email protected]>
-------Output Snipped----------

これは、 Gitlabインストールスクリプト と同じコマンドを実行することで簡単に修正できます。これにより、Gitlabから新しいキーが取得され、APTキーリングにインストールされます。

curl -L "https://packages.gitlab.com/gitlab/gitlab-ce/gpgkey" 2> /dev/null | Sudo apt-key add - &>/dev/null

この後、apt-key listコマンドを再実行して、キーが正しくインストールされたことを確認できます。

user@gitlab:~$ Sudo apt-key list
/etc/apt/trusted.gpg
--------------------
pub   rsa4096 2015-04-17 [SC] [expired: 2020-04-15]
      1A4C 919D B987 D435 9396  38B9 1421 9A96 E15E 78F4
uid           [ expired] GitLab B.V. (package repository signing key) <[email protected]>

pub   rsa4096 2020-03-02 [SC] [expires: 2022-03-02]
      F640 3F65 44A3 8863 DAA0  B6E0 3F01 618A 5131 2F3F
uid           [ unknown] GitLab B.V. (package repository signing key) <[email protected]>
sub   rsa4096 2020-03-02 [E] [expires: 2022-03-02]
3
Stuggi