แก้ไขข้อผิดพลาดลายเซ็น APT โดยการซ่อมแซมคีย์ที่เก็บข้อมูล

หาก APT รายงานว่า “ไม่สามารถตรวจสอบลายเซ็นต่อไปนี้ได้” ให้ระบุที่เก็บและรหัสข้อผิดพลาดเฉพาะในผลลัพธ์เดียวกัน จากนั้นซ่อมแซมคีย์การลงนามที่เชื่อถือได้หรือรายการแหล่งที่มาของที่เก็บนั้น สำหรับที่เก็บของบุคคลที่สาม ให้ขอรับคีย์ปัจจุบันจากผู้เผยแพร่ซอฟต์แวร์และผูกคีย์นั้นกับแหล่งที่มานั้นด้วยคำSigned-Byสั่ง `application/ ...

ผลลัพธ์จากเทอร์มินัล Ubuntu ที่แสดงคำสั่ง apt update และข้อผิดพลาด "ขาดคีย์สาธารณะ" สำหรับที่เก็บแพ็กเกจตัวอย่าง packages.example.org
ตัวอย่างผลลัพธ์จากคำสั่ง apt update: ข้อผิดพลาด missing-key จะระบุชื่อของ repository ที่ได้รับผลกระทบ และมีตัวระบุ NO_PUBKEY รวมอยู่ด้วย

1. ค้นหาที่เก็บข้อมูลและอ่านข้อผิดพลาดอย่างละเอียด

เรียกใช้การอัปเดตเพื่อให้คุณสามารถตรวจสอบข้อความทั้งหมดได้:

sudo apt update

มองหา URL ที่อยู่ข้างๆErr:และโทเค็น เช่นNO_PUBKEY, EXPKEYSIG, KEYEXPIRED, หรือBADSIGURL จะบอกคุณว่าแหล่งที่มาใดล้มเหลว ส่วนโทเค็นจะช่วยระบุสาเหตุให้แคบลง APT จะตรวจสอบเมตาเดตาของที่เก็บข้อมูลที่ลงนามแล้วก่อนที่จะเชื่อถือดัชนีแพ็กเกจ ดังนั้นการตรวจสอบลายเซ็นที่ล้มเหลวจึงเป็นสัญญาณด้านความปลอดภัยมากกว่าคำเตือนทั่วไป การติดตั้ง Ubuntu จะมีคีย์สำหรับที่เก็บข้อมูล Ubuntu เริ่มต้นอยู่แล้ว การตั้งค่าคีย์ด้วยตนเองมักจะจำเป็นเฉพาะสำหรับที่เก็บข้อมูลที่เพิ่มเข้ามาในภายหลังเท่านั้น

ค้นหาคำจำกัดความของแหล่งที่มาโดยการค้นหาชื่อโฮสต์ที่ปรากฏในข้อผิดพลาด แทนที่โฮสต์ตัวอย่างด้วยโฮสต์จากเทอร์มินัลของคุณ:

เทอร์มินัล Ubuntu ค้นหาไฟล์ภายใต้ etc apt sources.list.d เพื่อหาโฮสต์ที่เก็บ
ค้นหาในไดเร็กทอรีแหล่งที่มาของ APT เพื่อหาโฮสต์ที่ตรงกับที่รายงานโดยการอัปเดตที่ล้มเหลว
grep -R "packages.example.org" /etc/apt/sources.list /etc/apt/sources.list.d/ 2>/dev/null

Ubuntu 24.04 และเวอร์ชันที่ใหม่กว่าใช้ไฟล์ซอร์สโค้ด deb822 ที่ลงท้าย.sourcesด้วย .deb822 เป็นค่าเริ่มต้น การติดตั้งเวอร์ชันเก่ามักจะมี.listไฟล์แบบบรรทัดเดียว ตรวจสอบ URL ของที่เก็บซอฟต์แวร์ ชุดซอฟต์แวร์ หรือชื่อรหัสของ Ubuntu และSigned-Byรายการที่มีอยู่ หากซอร์สโค้ดชี้ไปยังเวอร์ชันที่ผู้จำหน่ายไม่ให้การสนับสนุนอีกต่อไป ให้ใช้คำแนะนำของผู้จำหน่ายสำหรับเวอร์ชัน Ubuntu ของคุณ หรือปิดใช้งานซอร์สโค้ดนั้น คีย์ไม่สามารถแก้ไขเส้นทางที่เก็บซอฟต์แวร์ที่ล้าสมัยหรือไม่ถูกต้องได้

2. ซ่อมแซมกุญแจสำรองที่หายไปหรือบิดเบี้ยว

ก่อนNO_PUBKEYอื่น ให้ตรวจสอบว่าที่เก็บข้อมูลนั้นเป็นที่ที่คุณติดตั้งโดยตั้งใจหรือไม่ เปิดเอกสารการติดตั้งปัจจุบันของผู้เผยแพร่ และรับ URL ของคีย์ลงนามและลายนิ้วมือแบบเต็มจากแหล่งข้อมูลนั้น เปรียบเทียบลายนิ้วมือกับเอกสารอ้างอิงของผู้จำหน่ายที่เผยแพร่แยกต่างหาก หากมี อย่าดึงคีย์จากเซิร์ฟเวอร์คีย์แบบสุ่มเพียงเพราะรหัสย่อตรงกับข้อผิดพลาด

สำหรับผู้จำหน่ายที่เผยแพร่คีย์ที่เข้ารหัสแบบ ASCII .ascให้ติดตั้งคีย์นั้นเป็นคีย์ริง APT เฉพาะ แทนที่ URL ตัวอย่างด้วย URL ที่ถูกต้องซึ่งระบุไว้โดยผู้จำหน่ายนั้น:

sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://vendor.example/path/repo-signing-key.asc | sudo gpg --dearmor --yes -o /etc/apt/keyrings/vendor-archive.gpg
sudo chmod 0644 /etc/apt/keyrings/vendor-archive.gpg

ไฟล์.gpgต้องสามารถอ่านได้โดยผู้ใช้ดาวน์โหลดที่ไม่ได้รับสิทธิ์พิเศษของ APT หากผู้เผยแพร่จัดเตรียม.gpgคีย์ริงแบบไบนารี ให้ปฏิบัติตามคำแนะนำแทนการลบคีย์ริงออกอีกครั้ง Ubuntu แนะนำให้เก็บคีย์ของบุคคลที่สามไว้ในคีย์ริงแยกต่างหากและอ้างอิงโดยที่เก็บนั้น เพื่อจำกัดแหล่งที่มาที่สามารถใช้คีย์ได้

เทอร์มินัล Ubuntu แสดงคีย์ริง APT เฉพาะ และรายการแหล่งที่มาของที่เก็บข้อมูลที่ใช้ signed-by
การตั้งค่า Signed-By เฉพาะแหล่งที่มาจะช่วยให้ที่เก็บข้อมูลเชื่อมโยงกับคีย์ริงของตนเอง

แก้ไขคำจำกัดความแหล่งที่มาที่มีอยู่แล้วแทนที่จะเพิ่มรายการซ้ำ สำหรับไฟล์ deb822 เช่น/etc/apt/sources.list.d/vendor.sourcesให้ใช้ค่า URI, ชุดซอฟต์แวร์ และส่วนประกอบจริงของผู้จำหน่าย จากนั้นเพิ่มเส้นทางคีย์ริง:

Types: deb
URIs: https://packages.example.org/ubuntu
Suites: YOUR_UBUNTU_CODENAME
Components: main
Signed-By: /etc/apt/keyrings/vendor-archive.gpg

หากรายการที่มีอยู่เป็น.listไฟล์บรรทัดเดียว ไวยากรณ์ที่เทียบเท่าคือdeb [signed-by=/etc/apt/keyrings/vendor-archive.gpg] https://packages.example.org/ubuntu YOUR_UBUNTU_CODENAME main. รักษาชุดและส่วนประกอบที่ได้รับการบันทึกไว้ของที่เก็บข้อมูลไว้ ค่าตัวอย่างเป็นเพียงตัวแทน หลีกเลี่ยงการใช้apt-key add: เนื่องจากเลิกใช้แล้ว และคีย์ที่เชื่อถือได้ทั่วโลกอาจให้สิทธิ์แก่คีย์ของบุคคลที่สามมากกว่าที่ตั้งใจไว้

หากข้อความระบุว่าEXPKEYSIGหรือKEYEXPIREDแสดงว่าคีย์ลงนามอาจหมดอายุแล้ว หรือผู้จำหน่ายอาจเปลี่ยนคีย์ใหม่แล้ว ดาวน์โหลดและตรวจสอบคีย์ทดแทนโดยใช้คำแนะนำปัจจุบันของผู้จำหน่าย จากนั้นอัปเดตคีย์ริงของแหล่งที่มา อย่าต่ออายุความน่าเชื่อถือของคีย์เก่าโดยไม่สนใจวันหมดอายุ

3. ตรวจสอบนาฬิกา, คลังเก็บข้อมูล Ubuntu และปัญหาเกี่ยวกับมิเรอร์

หากแหล่งเก็บข้อมูลเป็นแหล่งเก็บข้อมูลอย่างเป็นทางการของ Ubuntu ห้ามนำเข้าคีย์จากแหล่งเก็บข้อมูลภายนอก ตรวจสอบว่านาฬิการะบบของคุณถูกต้องด้วยคำสั่ง `npm run src` timedatectl statusและยืนยันว่าแหล่งที่มาใช้ URL ของแหล่งเก็บข้อมูล Ubuntu ที่ถูกต้องและชื่อรหัสสำหรับเวอร์ชันที่คุณติดตั้ง แพ็กubuntu-keyringเกจนี้มีคีย์ลงนามของแหล่งเก็บข้อมูล Ubuntu หากการจัดการแพ็กเกจยังคงใช้งานได้ผ่านแหล่งที่มาของ Ubuntu ที่เชื่อถือได้ ให้รีเฟรชแพ็กเกจนั้นด้วยคำสั่ง `npm run src`:

sudo apt install --reinstall ubuntu-keyring

ข้อความBADSIGดังกล่าวหมายความว่าลายเซ็นไม่ตรงกับเมตาเดต้าที่ APT ได้รับ การนำเข้าคีย์ซ้ำมักไม่ใช่วิธีแก้ปัญหาที่ถูกต้อง ตรวจสอบนาฬิการะบบที่ไม่ถูกต้อง มิเรอร์ที่ล้าสมัยหรือไม่สอดคล้องกัน พร็อกซีแคช หรือปัญหาการเผยแพร่ฝั่งที่เก็บข้อมูล ลองใหม่อีกครั้งหลังจากแก้ไขสาเหตุแล้ว หากมีเพียงแหล่งข้อมูลภายนอกเท่านั้นที่ล้มเหลวและคุณไม่ต้องการใช้งาน ให้ปิดใช้งานส่วนเฉพาะ.sourcesหรือ.listรายการนั้นในขณะที่คุณติดต่อผู้ดูแลระบบ เปิดใช้งานการตรวจสอบความปลอดภัยไว้เสมอ

4. ตรวจสอบการแก้ไข

เทอร์มินัล Ubuntu กำลังเรียกใช้คำสั่ง apt update โดยดึงข้อมูลเมตาของที่เก็บและรายการแพ็กเกจเสร็จสมบูรณ์แล้ว
หลังจากแก้ไขแหล่งที่มาหรือคีย์ริงแล้ว ให้เรียกใช้คำสั่ง apt update อีกครั้ง และตรวจสอบว่าไม่มีข้อผิดพลาดเกี่ยวกับลายเซ็นเหลืออยู่

เรียกใช้งานsudo apt updateอีกครั้ง การซ่อมแซมจะเสร็จสมบูรณ์เมื่อดึงข้อมูลจากแหล่งเก็บข้อมูลที่ได้รับผลกระทบโดยไม่มีคำเตือนเกี่ยวกับลายเซ็น และ APT ทำงานถึงระดับที่Reading package lists... Doneกำหนด การอัปเดตที่สำเร็จไม่ได้หมายความว่าผู้เผยแพร่บุคคลที่สามนั้นปลอดภัย แต่เป็นการยืนยันว่าลายเซ็นเมตาเดตาตรงกับคีย์ที่คุณเลือกที่จะเชื่อถือ หากการตรวจสอบยังคงล้มเหลว ให้ตรวจสอบ URL ของแหล่งเก็บข้อมูล ชื่อรหัส ลายนิ้วมือของคีย์ สิทธิ์การเข้าถึงคีย์ริง และโทเค็นข้อผิดพลาดที่แน่นอนอีกครั้งก่อนทำการเปลี่ยนแปลงอื่น

สำหรับรูปแบบซอร์สโค้ดและคีย์ที่รองรับ โปรดดูคำแนะนำเกี่ยวกับที่เก็บซอฟต์แวร์ของบุคคลที่สามของ Ubuntuคู่มือ apt - secure ของ Ubuntuและเอกสารเกี่ยวกับความสมบูรณ์ของไฟล์เก็บถาวรของ Ubuntu

ฝากความเห็น

แก้ไขข้อผิดพลาดลายเซ็น APT โดยการซ่อมแซมคีย์ที่เก็บข้อมูล

แก้ไขข้อผิดพลาดลายเซ็น APT โดยการซ่อมแซมคีย์ที่เก็บข้อมูล

แก้ไขคำเตือนการตรวจสอบลายเซ็น APT ของ Ubuntu อย่างปลอดภัย โดยการระบุแหล่งที่มาที่ล้มเหลว รีเฟรชคีย์ที่ได้รับการตรวจสอบแล้ว และตรวจสอบผลลัพธ์โดยไม่ต้องปิดใช้งานระบบรักษาความปลอดภัย

วิธีการแปลงค่าแรงดันไฟฟ้าสามเฟส กระแสไฟฟ้า กำลังไฟฟ้า (kW) กำลังไฟฟ้าแรงสูง (kVA) และตัวประกอบกำลัง

วิธีการแปลงค่าแรงดันไฟฟ้าสามเฟส กระแสไฟฟ้า กำลังไฟฟ้า (kW) กำลังไฟฟ้าแรงสูง (kVA) และตัวประกอบกำลัง

เรียนรู้สูตรสมดุลสามเฟสและวิธีการแปลงแรงดัน กระแส กำลังไฟฟ้า (kW) กำลังไฟฟ้าแรงสูง (kVA) และตัวประกอบกำลังทีละขั้นตอน พร้อมตัวอย่างการคำนวณและข้อจำกัดที่ต้องตรวจสอบ

จำกัดการใช้งาน CPU และหน่วยความจำของคำสั่งด้วย cgroups ใน Ubuntu

จำกัดการใช้งาน CPU และหน่วยความจำของคำสั่งด้วย cgroups ใน Ubuntu

เรียกใช้งานเวิร์กโหลดภายในขอบเขต systemd ด้วย CPUQuota และ MemoryMax จากนั้นตรวจสอบขีดจำกัดผ่าน cgroup v2

เข้ารหัส Pi-hole Upstream DNS บน Ubuntu Server 24.04

เข้ารหัส Pi-hole Upstream DNS บน Ubuntu Server 24.04

ตั้งค่า dnscrypt-proxy เป็นบริดจ์ DoH ในเครื่องของ Pi-hole บน Ubuntu 24.04 โดยกำหนดให้รับฟังเฉพาะ localhost เลือกตัวแก้ไข และตรวจสอบก่อนเปลี่ยน DNS

วิธีใช้งานท่าทางสัมผัสบนทัชแพดใน Ubuntu 24.04 บน Wayland

วิธีใช้งานท่าทางสัมผัสบนทัชแพดใน Ubuntu 24.04 บน Wayland

ตรวจสอบการตั้งค่าทัชแพดของ Ubuntu ยืนยันการใช้งาน Wayland และทดสอบการปัดนิ้วในตัวของ GNOME ก่อนที่จะแก้ไขปัญหาแอปหรือฮาร์ดแวร์

สร้าง RAID 1 Mirror สำหรับ Debian 12 โดยใช้ mdadm

สร้าง RAID 1 Mirror สำหรับ Debian 12 โดยใช้ mdadm

สร้างและตรวจสอบความถูกต้องของอาร์เรย์ข้อมูล RAID 1 สองดิสก์สำหรับ Debian 12 ฟอร์แมตอย่างปลอดภัย และกำหนดค่าให้ประกอบและเมานต์หลังจากรีบูต

เข้ารหัส Swap ของ Debian 12 ด้วยคีย์ใหม่ทุกครั้งที่บูตเครื่อง

เข้ารหัส Swap ของ Debian 12 ด้วยคีย์ใหม่ทุกครั้งที่บูตเครื่อง

ตั้งค่าการเข้ารหัสแบบสุ่มคีย์สำหรับพาร์ติชัน swap ที่มีอยู่ของ Debian 12 ตรวจสอบการแมป dm-crypt ที่ใช้งานอยู่ และทำความเข้าใจข้อดีข้อเสียของการจำศีล

วิธีจำกัดสิทธิ์การเข้าถึง SSH ให้กับผู้ใช้เฉพาะในไดเร็กทอรีที่กำหนดบน Ubuntu 24.04 (คู่มือ SFTP Chroot)

วิธีจำกัดสิทธิ์การเข้าถึง SSH ให้กับผู้ใช้เฉพาะในไดเร็กทอรีที่กำหนดบน Ubuntu 24.04 (คู่มือ SFTP Chroot)

จำกัดการเข้าถึงบัญชี SSH ของ Ubuntu 24.04 ให้เฉพาะโฟลเดอร์ SFTP ที่กำหนดไว้ โดยใช้ chroot, สิทธิ์การเข้าถึงที่เหมาะสม, กฎการจับคู่ และการทดสอบที่ปลอดภัย โดยไม่ให้สิทธิ์การเข้าถึงเชลล์

ปลดล็อก APT ของ Ubuntu อย่างปลอดภัยและทำการอัปเดตให้เสร็จสมบูรณ์

ปลดล็อก APT ของ Ubuntu อย่างปลอดภัยและทำการอัปเดตให้เสร็จสมบูรณ์

ค้นหาว่ากระบวนการใดเป็นเจ้าของไฟล์ล็อกส่วนหน้าของ dpkg ใน Ubuntu ปล่อยให้การติดตั้งแพ็กเกจเสร็จสมบูรณ์ และซ่อมแซมการติดตั้งที่หยุดชะงักโดยไม่ต้องลบไฟล์ล็อก

วิธีตั้งค่าการสร้างสแนปช็อต Btrfs อัตโนมัติบน Ubuntu Desktop

วิธีตั้งค่าการสร้างสแนปช็อต Btrfs อัตโนมัติบน Ubuntu Desktop

ตั้งค่าการสร้างสแนปช็อตระบบ Btrfs ตามกำหนดเวลาบน Ubuntu Desktop ด้วย Timeshift ตรวจสอบโครงสร้างซับโวลุ่มของ Ubuntu เลือกช่วงเวลาการเก็บรักษา และทำความเข้าใจว่าสแนปช็อตไม่สามารถปกป้องอะไรได้บ้าง