resmi nginx trusty ppa memberikan kesalahan gpg KEYEXPIRED


34

Saya mendapatkan kesalahan berikut setiap kali saya melakukan upgrade apt-get:

Kesalahan GPG: http://nginx.org trusty Rilis: Tanda tangan berikut tidak valid: KEYEXPIRED 1471427554

Saya baru saja menginstal nginx ppa resmi dengan cara standar, dengan menambahkan yang berikut ini ke sources.list saya

deb http://nginx.org/packages/ubuntu/ trusty nginx
deb-src http://nginx.org/packages/ubuntu/ trusty nginx

Apakah ini kesalahan dari pihak mereka yang pada akhirnya akan mereka perbaiki semoga, atau ada sesuatu yang harus saya lakukan dari pihak saya?


1
Apakah Anda mengunduh kunci ini dari NGINX , kemudian jalankan sudo apt-key add nginx_signing.keydan masih mendapatkan kesalahan ini?
— Thomas Ward

2
ini terjadi ... kadang-kadang. Tapi ini ("1471427554") tidak terlihat seperti kunci GPG yang valid. wget http://nginx.org/keys/nginx_signing.key -O - |sudo apt-key add -akan melakukan kedua langkah yang disarankan oleh @ThomasWard dalam satu perintah kecil.
— Phillip -Zyan K Lee- Stockmann

LANG=C sudo apt-key adv --keyserver keys.gnupg.net --recv-keys 1471427554mengembalikan kesalahan berikut: Executing: /tmp/tmp.EU8uLKmT5b/gpg.1.sh --keyserver keys.gnupg.net --recv-keys 1471427554 gpg: "1471427554" not a key ID: skipping
— Phillip -Zyan K Lee- Stockmann

1
ya, file kuncinya tersedia melalui https juga.
— Phillip -Zyan K Lee- Stockmann

1
@Phillip: Sebenarnya, 1471427554 adalah cap waktu waktu kedaluwarsa untuk kunci penandatanganan APT. Versi modern dari perintah tanggal akan menguraikannya dalam format yang dapat dibaca untuk Anda: date -u -d @1471427554berikan Wed Aug 17 09:52:34 UTC 2016.
— BertD

Jawaban:


48

Setelah menambahkan repositori pihak ketiga ke /etc/apt/sources.list.d/*file atau /etc/apt/sources.list, Anda perlu memastikan kunci gpg yang sesuai dimasukkan ke apt keystore.

Untuk lebih spesifik untuk kasus khusus repositori nginx.org ini: Anda perlu menambahkan file kunci gpg nginx.org yang digunakan untuk menandatangani repositori.

Ini dapat dilakukan dengan mengunduh file https://nginx.org/keys/nginx_signing.key secara manual dan mengeluarkan sudo apt-key add nginx_signing.key(seperti yang disarankan oleh nginx.org dan @ThomasWard) atau Anda dapat melakukan ini dalam satu baris:

wget https://nginx.org/keys/nginx_signing.key -O - | sudo apt-key add -

Oke, ini berhasil, tetapi saya pasti salah membaca, atau melewatkan sesuatu. Mengapa ini tiba-tiba muncul sekarang? Saya tidak mengerti.
— codenoob

1
@linsong menjelaskan mengapa ini muncul sekarang: kunci gpg lama telah berakhir pada 17 Agustus. Jadi, Anda perlu mengunduh kunci baru.
— Phillip -Zyan K Lee- Stockmann

11

Akar penyebab masalah ini adalah karena kunci penandatanganan Nginx "lama" berakhir pada 17 Agustus 2016:

$ sudo apt-key list

pub   2048R/7BD9BF62 2011-08-19 [expired: 2016-08-17]
uid                  nginx signing key <signing-key@nginx.com>

Untuk memperbaiki masalah ini, tambahkan kunci penandatanganan baru menggunakan perintah seperti yang disarankan oleh @ phillip-zyan-k-lee-stockmann dan @ThomasWard:

wget https://nginx.org/keys/nginx_signing.key -O - | sudo apt-key add -

Kunci baru sekarang berakhir pada 2024:

$ sudo apt-key list

pub   2048R/7BD9BF62 2011-08-19 [expires: 2024-06-14]
uid                  nginx signing key <signing-key@nginx.com>

Saya pikir saya menyukai jawaban ini secara keseluruhan karena mencoba menjelaskan apa yang terjadi dengan lebih baik. (Penjelasan di atas tidak cocok dengan use case saya meskipun ada tanggapan.)
— codenoob
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.