sudo apt-key adv --keyserver keyserver.ubuntu.com --recv คำสั่ง 7F0CEB10 ส่งคืนข้อผิดพลาด


30

ฉันพยายามที่จะติดตั้ง Mongodb บน Ubuntu 12 แต่เมื่อฉันเรียกใช้คำสั่งนี้:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10
นี่กลับข้อผิดพลาดด้านล่าง:

keyserver.ubuntu.com ไม่พบโฮสต์
gpgkeys: ข้อผิดพลาดในการดึงข้อมูล HTTP 7: ไม่สามารถเชื่อมต่อ: ไม่พบไฟล์หรือไดเรกทอรี
gpg: ไม่พบข้อมูล openPGP ที่ถูกต้อง
gpg: จำนวนกระบวนการทั้งหมด: 0

ฉันปิดไฟร์วอลล์ใน Iptables แต่มันไม่ทำงาน มีความคิดอะไรบ้าง?


ระบบของคุณสามารถแก้ไข keyserver.ubuntu.com เป็นที่อยู่ IP ได้หรือไม่ คือผลผลิตของdig keyserver.ubuntu.comอะไร
Xyon

คำตอบ:


35

นี่อาจไม่ใช่ปัญหาในการค้นหา keyserver ซึ่งเป็นข้อผิดพลาดที่แนะนำ คำสั่ง apt-key เรียก gpg ซึ่งในทางกลับกันจะพยายามเข้าถึง keyserver เห็นได้ชัดว่ามีข้อผิดพลาดใน gpg โดยที่ถ้า keyserver ไม่มีคีย์ที่คุณร้องขอจากนั้น gpg จะตีความผิดว่าเป็น "ไม่พบโฮสต์"

มันอาจเป็นไปได้ว่า keyserver ที่ไม่ตอบสนองจะทำสิ่งเดียวกันและฉันได้เห็นสภาพแวดล้อมที่ keyservers ถูกบล็อก (กฎไฟร์วอลล์ขององค์กร) ดังนั้นอาจเป็นสาเหตุของคุณได้หากมีไฟร์วอลล์ upstream ที่คุณไม่สามารถเข้าถึงได้ ไปยัง

มีไว้เพื่ออ้างอิงมีกุญแจอยู่ที่นั่นและผู้ทำกุญแจกำลังตอบฉัน:

$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10
Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --secret-keyring /tmp/tmp.rh1myoBdSE --trustdb-name /etc/apt//trustdb.gpg --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyserver keyserver.ubuntu.com --recv 7F0CEB10
gpg: requesting key 7F0CEB10 from hkp server keyserver.ubuntu.com
gpg: key 7F0CEB10: "Richard Kreuter <richard@10gen.com>" not changed
gpg: Total number processed: 1
gpg:              unchanged: 1

อาจเป็นได้ว่าพอร์ตเป็นปัญหา (เป็นครั้งสุดท้ายเมื่อฉันพบปัญหาไฟร์วอลล์ขององค์กร) ดังนั้นให้ลองทำสิ่งนี้บนพอร์ต HTTP มาตรฐาน (80) แทนดูว่าสิ่งนั้นเรียงลำดับออกมาไหม

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10

4
"การทำเช่นนี้กับพอร์ต HTTP มาตรฐาน (80) แทน" ดีมากหากิน! tks
Bill.Zhuang

1
คำเตือน: หากไม่มี SSL คุณอาจถูกโจมตีโดยMitMซึ่งให้บริการคีย์ซึ่งมีลายนิ้วมือที่มีอักขระแปดตัวสุดท้ายเหมือนกัน ( ตัวอย่างเช่นคีย์โจมตี ) รหัสดังกล่าวอาจไม่ถูกแชร์แบบสาธารณะดังนั้นคุณจะไม่มีทางรู้ว่าคุณถูก pwned เพื่อป้องกันการโจมตีดังกล่าวจากกุญแจสาธารณะแชร์เดเบียนมีนโยบายระบุ“ เฉพาะคีย์ในคีย์เดเบียน…จะถูกส่งคืนโดยเซิร์ฟเวอร์นี้”
Adam Katz

21

ฉันประสบปัญหาเดียวกันกับที่เครื่องของฉันอยู่หลังพร็อกซีขององค์กร การเพิ่มที่gpg --keyserver-option http-proxyทำเคล็ดลับ ดูเหมือนกับ:

sudo apt-key adv --keyserver-options http-proxy=<myProxy> --keyserver keyserver.ubuntu.com --recv 7F0CEB10

1
ขอบคุณ! ดีที่ฉันไม่ได้หยุดอ่านที่ด้านบน ...
Moraru Lilian

20

หากคุณใช้พร็อกซีตัวอย่างเช่นพร็อกซีของ บริษัท อาจเป็นวิธีเดียวที่จะป้อนด้วยตนเองซึ่งค่อนข้างตรงไปตรงมา วิ่ง:

sudo apt-get update

และรับรหัสของ pub_key จากนั้นไปที่http://keyserver.ubuntu.com/และค้นหากุญแจสำคัญในการเป็น hexidecimal ตัวอย่างเช่นถ้าที่สำคัญคือแล้วค้นหา7936A783B 0x7936A783Bคลิกที่ลิงค์ลูกสุนัขและคัดลอกเนื้อหาของคีย์และบันทึกลงในไฟล์ txt ไปที่เทอร์มินัลแล้วไปที่ไฟล์และเรียกใช้:

sudo apt-key add key.txt

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

sudo apt-get update

และคุณมีมัน!


3
นี่เป็นระเบียบ เป็นไปได้ที่จะใช้ URL ที่คุณได้รับทุกคำต่อapt-keyไปนี้:apt-key adv --fetch-keys http://keyserver.ubuntu.com/pks/lookup?op=get&search=0xD6ACA1C817B18ABC
sxc731

2
@ sxc731 - เดอะapt-keyหน้าคนกล่าวว่า“ทราบว่ามีการตรวจสอบไม่มีการดำเนินการจึงเป็นเรื่องง่ายที่จะสมบูรณ์ทำลายโครงสร้างพื้นฐาน apt-ปลอดภัย (8) ถ้าใช้โดยไม่ต้องดูแล.” ซึ่งหมายความว่าคุณจริงๆไม่ต้องการที่จะทำเช่นนั้นได้โดยไม่ต้อง SSL เปลี่ยนเป็น--fetch-keys https://…และคุณควรจะปลอดภัยพอสมควร
Adam Katz

@ AdamKatz เป็นจุดที่ดีมากขอบคุณ น่าเสียดายที่ฉันไม่สามารถแก้ไขความคิดเห็นของฉันเพื่อใช้ข้อเสนอแนะของคุณ แต่
อัปเดต

--fetch-keysตัวเลือกที่ล้มเหลวสำหรับฉันกับข้อผิดพลาด: https://keyserver.ubuntu.com/pks/lookup?op=get gpgkeys: protocol https' ไม่สนับสนุน gpg: จัดการสำหรับโครงการ keyserver ไม่มีhttps' gpg: WARNING: unable to fetch URI https://keyserver.ubuntu.com/pks/lookup?op=get: keyserver error
miguelmorin

ขอบคุณสิ่งที่ฉันกำลังมองหา
Miguel Ortiz

1

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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.