Saya menggunakan Ubuntu 9.10, dan perlu menambahkan beberapa repositori apt. Sayangnya, saya mendapat pesan seperti ini saat menjalankan sudo apt-get update
:
W: GPG error: http://ppa.launchpad.net karmic Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 5A9BF3BB4E5E17B5
W: GPG error: http://ppa.launchpad.net karmic Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 1DABDBB4CEC06767
Jadi, saya perlu menginstal kunci untuk repositori ini. Di bawah 9,10 kita sekarang memiliki opsi untuk melakukan ini:
sudo add-apt-repository ppa:nvidia-vdpau/ppa
Lihat artikel bantuan Ubuntu ini untuk detailnya.
Ini hebat, kecuali bahwa saya menjalankan ini pada workstation di belakang firewall yang memblokir koneksi keluar ke hampir semua port kecuali yang diperlukan oleh sekretaris yang menjalankan Windows dan IE.
Port yang dimaksud di sini adalah layanan hkp, port 11371.
Tampaknya ada cara untuk mengunduh kunci secara manual dan memasangnya di keyring apt. Bahkan mungkin ada cara untuk menggunakan add-apt-repository atau wget atau sesuatu untuk mengunduh kunci dari server alternatif sehingga tersedia di port 80.
Namun, saya belum menemukan serangkaian langkah singkat untuk melakukannya. Yang saya cari adalah:
- Cara menemukan kunci publik untuk paket-tepat (rekomendasi untuk sumber daya yang memiliki ini, dan / atau tips untuk mencari. Mencari hash kunci tampaknya tidak begitu efektif sejauh ini.)
- Bagaimana cara mengambil kunci (dapatkah itu dilakukan secara otomatis menggunakan gpg atau add-apt-repository?)
- Cara menambahkan kunci ke keyring apt
Terima kasih sebelumnya.
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys KEY_HASH
hkp://keyserver.ubuntu.com:80
bekerja pada 10,04 juga.--keyserver hkp://keyserver.ubuntu.com:80
sumber
Inilah satu solusi yang saya gunakan:
Saya masuk ke server linux di dunia bebas di luar firewall perusahaan kami, dan melakukan ini:
Kemudian di workstation saya, saya menjalankan ini, dan menempelkan output dari perintah di atas (kunci publik) ke stdin, diikuti oleh control-D:
Kemudian saya bisa berlari
sudo apt-get update
tanpa masalah.Saya masih berpikir harus ada cara yang lebih baik, idealnya sesuatu yang bisa saya skrip.
sumber
Saya punya solusi lain di sini yang mungkin berguna jika Anda tidak dapat menemukan server linux lain di luar jaringan Anda sebagai proxy. Cukup kirim email ke "[email protected]" seperti subjek sebagai "dapatkan 0x1DABDBB4CEC06767". Tetapi Anda mungkin masih tidak dapat menulis skrip sederhana untuk mengotomatisasi ini.
sumber
Anda dapat mengunjungi situs web keyserver, mis. Http://wwwkeys.eu.pgp.net/ Cari tanda tangan kunci (Anda perlu menambahkan 0x ke tanda tangan hex) yaitu 0x1DABDBB4CEC06767.
Klik pada tautannya Anda diharapkan akan mendapatkan dan menempelkan teks ke dalam file di mesin, yaitu
Kemudian
Ini bekerja dengan baik untuk saya; sepertinya proxy pekerjaan saya memblokir banyak port "non-standar".
sumber
Saya menemukan cara yang rapi untuk melakukannya dalam satu perintah melalui port 80 yang selalu terbuka untuk lalu lintas www.
http://gurrier.wordpress.com/2010/10/02/downlolading-repo-keys-from-behind-a-corporate-firewall/
sumber
Solusi sederhana adalah:
Https aman (keluar 443) tidak akan diblokir oleh firewall.
sumber
Saya cukup menggunakan ssh untuk meneruskan port ke host eksternal kemudian jalankan
apt-add-repo
perintah.sumber
Saya memiliki masalah yang sama dengan gpg. Solusi dengan menambahkan port ke nama server bekerja dengan mengedit
~/.gnupg/gpg.conf
file saya . Namun, saya masih akan meminta sysadmin kami untuk membuka port keluar 11371, jadi saya tidak perlu khawatir tentang ini lagi.sumber