Arch Linux: keyserver receive failed: No keyserver available и ручной импорт ключа

 

При установке lib32-openssl-1.0-1.0.2 из AUR – возникает ошибка:

$ gpg -vvv --debug-all --recv-key 8657ABB260F056B1E5190839D9C4D26D0E604491
gpg: reading options from '/home/setevoy/.gnupg/gpg.conf'
gpg: using character set 'utf-8'
gpg: enabled debug flags: packet mpi crypto filter iobuf memory cache memstat trust hashing ipc clock lookup extprog
gpg: DBG: [not enabled in the source] start
gpg: DBG: chan_3 <- # Home: /home/setevoy/.gnupg
gpg: DBG: chan_3 <- # Config: /home/setevoy/.gnupg/dirmngr.conf
gpg: DBG: chan_3 <- OK Dirmngr 2.1.20 at your service
gpg: DBG: connection to the dirmngr established
gpg: DBG: chan_3 -> GETINFO version
gpg: DBG: chan_3 <- D 2.1.20
gpg: DBG: chan_3 <- OK
gpg: DBG: chan_3 -> KS_GET -- 0x8657ABB260F056B1E5190839D9C4D26D0E604491
gpg: DBG: chan_3 <- ERR 167772346 No keyserver available <Dirmngr>
gpg: keyserver receive failed: No keyserver available
gpg: DBG: chan_3 -> BYE
gpg: DBG: [not enabled in the source] stop
gpg: keydb: handles=0 locks=0 parse=0 get=0
gpg:        build=0 update=0 insert=0 delete=0
gpg:        reset=0 found=0 not=0 cache=0 not=0
gpg: kid_not_found_cache: count=0 peak=0 flushes=0
gpg: sig_cache: total=0 cached=0 good=0 bad=0
gpg: random usage: poolsize=600 mixed=0 polls=0/0 added=0/0
              outmix=0 getlvl1=0/0 getlvl2=0/0
gpg: secmem usage: 0/32768 bytes in 0 blocks

Пробуем обновить ключи:

sudo pacman-key --refresh-keys
gpg: refreshing 91 keys from hkp://pool.sks-keyservers.net
gpg: keyserver refresh failed: No keyserver available
==> ERROR: A specified local key could not be updated from a keyserver.

Конфигурация gpg:

cat  /etc/pacman.d/gnupg/gpg.conf
no-greeting
no-permission-warning
lock-never
keyserver hkp://pool.sks-keyservers.net
keyserver-options timeout=10

Пробуем вручную, с помощью gpg-connect-agent:

gpg-connect-agent --dirmngr
>  keyserver --resolve hkp://pool.sks-keyservers.net
S # hkp://keys.gnupg.net:11371: resolve failed: No keyserver available
OK

В принципе, зная нашу сеть – скорее всего проблема тут, потому – добавляем руками.

Идёим на https://pgp.mit.edu, в поиске указываем нужный ключ, находим его:

Кликаем на 2048R/0E604491, и попадаем на страницу с самим ключом:

Сохраняем его (включая первую строку Public Key Server — Get “0xd9c4d26d0e604491 “) в файл linux-vfio.asc:

head -n 5 linux-vfio.asc
Public Key Server --- Get “0xd9c4d26d0e604491 ”
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: SKS 1.1.5
Comment: Hostname: pgp.mit.edu

И импортируем вручную

gpg --import linux-vfio.asc
gpg: /home/setevoy/.gnupg/trustdb.gpg: trustdb created
gpg: key D9C4D26D0E604491: public key "Matt Caswell <matt@openssl.org>" imported
gpg: Total number processed: 1
gpg:               imported: 1
gpg: no ultimately trusted keys found

Повторяем установку:

yaourt -S lib32-openssl-1.0
...
(1/1) installing lib32-openssl-1.0   [] 100%
Optional dependencies for lib32-openssl-1.0
ca-certificates [installed]
:: Running post-transaction hooks...
(1/1) Arming ConditionNeedsUpdate...

Проверяем:

ls -l /usr/lib32/libssl*
lrwxrwxrwx 1 root root     13 Mar 13 05:44 /usr/lib32/libssl.so -> libssl.so.1.1
-r-xr-xr-x 1 root root 506052 May  8 11:14 /usr/lib32/libssl.so.1.0.0
-rwxr-xr-x 1 root root 446328 Mar 13 05:44 /usr/lib32/libssl.so.1.1

Готово.