Abaikan tanda tangan GPG hanya untuk memeriksa satu repositori

34

Saya telah membaca artikel berikut: Bagaimana cara saya mem-bypass / mengabaikan tanda tangan gpg dari apt?

Itu menguraikan cara mengkonfigurasi aptuntuk tidak memeriksa tanda tangan paket sama sekali .

Namun, saya ingin membatasi efek pengaturan ini ke repositori tunggal (dalam hal ini dihosting secara lokal).

Itu adalah: semua repositori resmi harus menggunakan cek tanda tangan GPG seperti biasa, kecuali untuk repo lokal .

Bagaimana saya bisa melakukan itu?

Jika gagal, apa keuntungan (dari sisi keamanan) untuk menandatangani paket selama pembangunan otomatis (beberapa paket meta dan beberapa program) dan kemudian melakukan semua resep yang aman ituapt ? Setelah semua host dengan repo kemudian juga akan menjadi satu di mana kunci rahasia GPG berada.

0xC0000022L
sumber
Menurut pendapat saya, penandatanganan otomatis menggunakan kunci online, meskipun jauh dari ideal, akan jauh lebih baik daripada tidak masuk sama sekali. Ini juga akan jauh lebih mudah untuk diatur (tidak perlu mengkonfigurasi setiap klien untuk mengesampingkan pemeriksaan) dan jauh lebih mudah untuk beralih ke pengaturan yang lebih baik nanti jika Anda mau.
Celada
@Celada: apakah itu pendapat (bahwa "benar-benar lebih baik") atau apakah ada alasan untuk pernyataan Anda? Saya bertanya, karena sejauh ini saya tidak dapat melihat alasan bagaimana ini akan meningkatkan keamanan atau aspek lainnya. Satu-satunya saat ketika ini akan sedikit bermanfaat, akankah jika saya berniat untuk mempublikasikan repo saya setelah semua, bukan?
0xC0000022L
Saya berpendapat secara rasional :-) Jika repositori ditanda tangani, maka setidaknya orang jahat harus mendapatkan kunci penandatanganan, yang mungkin hanya akan Anda simpan di satu tempat dan mungkin di kotak dev, atau setidaknya tidak dapat dibaca oleh Server HTTP. Kalau tidak, tidak ada perlindungan sama sekali. Dengan kata lain saya hanya bermaksud mengatakan bahwa tidak ada kerugian untuk masuk, jadi Anda mungkin juga masuk meskipun keuntungannya kecil. Dan karena akan lebih mudah diatur, itulah yang akan saya lakukan.
Celada
@Celada: ini adalah repositori hanya untuk penggunaan lokal. Siapa yang bisa mengaksesnya. Use case: host dengan wadah tamu. Tuan rumah dan wadah akan memiliki akses. Tidak ada akses publik yang direncanakan. Tapi saya kira saya akan bertahan untuk jawaban sedikit lebih lama dan pergi untuk (menandatangani) jika tidak terhindarkan.
0xC0000022L
Cukup adil, kita akan melihat apakah seseorang tahu jawaban untuk pertanyaan Anda. Saya tidak tahu alat apa yang Anda rencanakan untuk menghasilkan repo, tapi saya sarankan reprepro . Banyak alat lain seperti dput(atau apa pun yang digunakan Debian sendiri) sangat rumit dan tampak seperti kerja keras yang sangat besar untuk repo khusus lokal. repreproakan mengurus pembuatan repo dengan semua tata letak direktori yang benar dan mengindeks file secara otomatis tanpa memerlukan instalasi server database besar ... dan itu juga akan menandatangani hasilnya dengan pada dasarnya tidak ada pekerjaan tambahan di pihak Anda.
Celada

Jawaban:

48

Anda dapat mengatur opsi di sources.list:

deb [trusted=yes] http://localmachine/debian wheezy main

The trustedpilihan adalah apa yang mematikan cek GPG. Lihat man 5 sources.listdetailnya.

Catatan: ini ditambahkan di apt 0.8.16 ~ exp3. Jadi itu mengi (dan tentu saja jessie), tapi tidak terjepit.

derobert
sumber
terima kasih banyak. Ini persis apa yang saya cari. Saya percaya 1.0.1ubuntu2.7sudah memiliki fitur itu, mengingat nomor versinya.
0xC0000022L
@ 0xC0000022L ya, seharusnya.
derobert
Ini jelas merupakan jawaban terbaik jika Anda berulang kali perlu mengakses repositori yang tidak ditandatangani, ada jawaban yang diperbarui untuk pertanyaan lain yang tertaut dalam pertanyaan asli di sini yang menunjukkan cara melakukannya sementara untuk setiap repositori.
dragon788
11

Untuk memastikan bahwa Anda melihat peringatan saat menggunakan repositori tidak aman, lebih baik gunakan allow-insecure = ya sebagai gantinya seperti di bawah ini

deb [ allow-insecure=yes ] ...
Naresh Mehta
sumber
Menarik, terima kasih atas jawaban Anda. Perbedaan kecil tapi penting.
0xC0000022L