Làm cách nào để thêm khóa GPG vào khóa nguồn apt?


67

Trang Ubuntu Doc nói điều này:

Bạn nên thêm khóa Opera GPG.

wget -qO - http://deb.opera.com/archive.key | sudo apt-key add -

Tôi thêm nó vào đâu?

Tôi muốn nhận lời khuyên nhưng tôi không biết phần nào của trung tâm phần mềm để thêm khóa gpg vào.


3
Tôi tin rằng đó là lệnh một dòng để nhập vào thiết bị đầu cuối
Mateo

1
.msi trong Ubuntu được gọi là .deb.
Alvar

4
Là một lưu ý phụ, việc thêm các khóa bạn tìm nạp qua không phải HTTPS sẽ phá vỡ mọi bảo mật mà các gói đã ký được thêm vào. Bất cứ nơi nào có thể, bạn nên tải xuống các khóa qua một kênh an toàn (https: //).

Câu trả lời:


86

Đây là một dòng lệnh để nhập trong thiết bị đầu cuối. Xem thiết bị đầu cuối là gì và làm thế nào để tôi mở và sử dụng nó?

Để sử dụng nó, bạn sẽ dán toàn bộ lệnh trong thiết bị đầu cuối (nhớ sử dụng https):

wget -qO - https://deb.opera.com/archive.key | sudo apt-key add -

Nhưng tất nhiên, thật khó khăn khi chỉ sao chép và dán các lệnh mà không biết họ đang làm gì và không có hướng dẫn nào về cách hoàn tác các hành động của họ, vì vậy đây là một sự cố cơ bản của các lệnh:

  • wgettải về một cái gì đó từ một máy chủ. Xem hướng dẫn sử dụng wget cho Ubuntu 16.04 .
  • | là một đường ống, lấy đầu ra của một lệnh và chạy nó vào đầu vào của một lệnh khác
  • apt-key add thêm khóa gói

Vì vậy, về cơ bản, nó tải xuống khóa và sau đó thêm nó vào một lệnh.

Tôi đã thử lệnh và nó sẽ hoạt động.


Bây giờ để xác minh rằng nó hoạt động, hãy chạy lệnh này (từ câu trả lời này ):

apt-key list

Điều này sẽ liệt kê các khóa được thêm vào và khóa từ Opera sẽ được liệt kê ở phía dưới như thế này:

pub   1024D/30C18A2B 2012-10-29 [expires: 2014-10-29]
uid                  Opera Software Archive Automatic Signing Key 2013 <packager@opera.com>
sub   4096g/C528FCA9 2012-10-29 [expires: 2014-10-29]

Câu trả lời được liên kết cũng cho thấy rằng bạn có thể xóa khóa nếu cần, sử dụng:

sudo apt-key del 30C18A2B

với 30C18A2Bviệc là id khóa từ danh sách.


Sau khi thực hiện lệnh đó và thiết lập các nguồn chính xác như trong ảnh chụp màn hình của bạn , hãy làm:

sudo apt-get update
sudo apt-get install opera

(lưu ý có một số cảnh báo ngẫu nhiên, nhưng không có gì ảnh hưởng đến hoạt động cài đặt hoặc trung tâm phần mềm)

Và đối với việc xóa (chỉ trong trường hợp): cách chính xác để xóa hoàn toàn một ứng dụng là gì?


Vì vậy, tóm lại:

  • Thêm kho lưu trữ nhập mô tả hình ảnh ở đây
  • Thêm khóa với apt-key
  • Cài đặt trong thiết bị đầu cuối với apt-get
  • Tìm kiếm trong dấu gạch ngang nhập mô tả hình ảnh ở đây

4
"apt-key adv" cho phép một người tải xuống khóa từ máy chủ khóa công khai.
jeremiah

Sau khi thêm khóa với apt-key add, tệp .key (trong trường hợp này là "archive.key") có thể bị xóa mà không có hậu quả, phải không? Khóa (thông tin, không phải tệp) đã được thêm vào danh sách ở đâu đó, vì vậy tệp không còn cần thiết nữa.
Cerran

2
@ Địa Trung Hải, chính xác. APT giữ chìa khóa ở một nơi khác ( /etc/apt/trusted.gpg.d//var/lib/apt/keyrings/ví dụ.)
Alexis Wilke

Nếu bạn gặp lỗi SSL với wget, bạn có thể sử dụng curl thay thế:curl -L https://deb.opera.com/archive.key | sudo apt-key add -
rubo77

24

Nếu bạn đang thêm thủ công một khóa từ PPA, hãy sử dụng

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 00000000

Thay thế 00000000bằng phần thứ hai của khóa được thông báo trong trang web PPA mà bạn muốn thêm.

Ví dụ: nếu bạn tìm thấy dòng này:

 4096R/7BF576066

Chỉ sử dụng phần thứ hai (bất kể kích thước của nó), trong ví dụ này là 7BF576066


Là lỗi như thế nào gpg: keyserver receive failed: No keyserver availablegpg: keyserver receive failed: Connection refusedphổ biến?
iuridiniz

Không, lỗi như thế này không phổ biến. Có lẽ bạn đang viết sai khóa.
Paulo Coghi

20

Các phiên bản mới hơn của apt cũng hỗ trợ như sau:

apt-key adv --fetch-keys http://deb.opera.com/archive.key

Phương pháp này cũng cung cấp thông tin phản hồi chi tiết hơn, ví dụ:

gpg: key 7BD9BF62: public key "signing key <username@domain.com>" imported
gpg: Total number processed: 1
gpg:               imported: 1  (RSA: 1)

Điều này cũng có thêm phần thưởng khi loại bỏ sự cần thiết cho các phụ thuộc bổ sung như wget hoặc curl.


1
adv-key adv dường như không hoạt động cho https
danihodovic

5
@ dani-h Bạn cần gnupg-curlsử dụng HTTPS nếu bạn đang sử dụng GPG 1.x.
Tao Wang

apt-key adv --fetch-keyssẽ chỉ tìm nạp một khóa từ URL và nếu URL chứa nhiều khóa, vui lòng sử dụng wget | apt-key addthay thế.
Tao Wang

Nó dường như đã hoạt động với https (vừa được thử nghiệm trên Ubuntu 17.10)
user1182474

0

Một cách khác mà bạn chỉ cần có một khóa .asc, bạn tải xuống khóa .asc và thêm nó vào khóa.

Ví dụ -

curl -L https://packages.riot.im/debian/repo-key.asc | sudo apt-key add -
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.