133

While trying to receive keys in my Debian Stretch server, I get this error:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
Executing: /tmp/apt-key-gpghome.4B7hWtn7Rm/gpg.1.sh --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
gpg: failed to start the dirmngr '/usr/bin/dirmngr': No such file or directory
gpg: connecting dirmngr at '/tmp/apt-key-gpghome.4B7hWtn7Rm/S.dirmngr' failed: No such file or directory
gpg: keyserver receive failed: No dirmngr
Hunter.S.Thompson
  • 8,839
  • 7
  • 26
  • 41
  • See https://k6.io/docs/get-started/installation/troubleshooting/#error-importing-k6s-gpg-key; you can run `sudo gpg -k` and then try again – Frido Emans Nov 11 '22 at 16:34

3 Answers3

186

Installing the package dirmngr fixed the error.

user@debian-server:~$ sudo apt-get install dirmngr

Retrying :

user@debian-server:~$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
Executing: /tmp/apt-key-gpghome.haKuPppywi/gpg.1.sh --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
gpg: key A6A19B38D3D831EF: public key "Xamarin Public Jenkins (auto-signing) <[email protected]>" imported
gpg: Total number processed: 1
gpg:               imported: 1
Hunter.S.Thompson
  • 8,839
  • 7
  • 26
  • 41
11

I wasn't able to get dirmngr to work, but you can also just import the key directly using apt-key add. The GPG public key is often listed at the root of the repo like http://origin-download.mono-project.com/repo/

curl https://origin-download.mono-project.com/repo/xamarin.gpg | sudo apt-key add -
Greg Bray
  • 379
  • 4
  • 14
  • 2
    You need to run dirmngr if it's not already running. – please delete me Oct 03 '18 at 19:54
  • `dirmngr` was running, but still no joy... If the keyserver happens to be [keyserver.ubuntu.com](http://keyserver.ubuntu.com) then you can access via a browser and search for the public key using the `--recv-keys` parameter, then simply use `apt-key add` as per this answer – earcam Mar 18 '19 at 12:22
0

As said, the dirmngr package should be installed, but it may happen that apt does not work and cannot install any package. Don't worry. Search dirmngr package on https://packages.debian.org selecting your distribution version, download it on the linux machine and install it using dpkg command, for example:

cd /tmp
wget http://ftp.it.debian.org/debian/pool/main/g/gnupg2/dirmngr_2.1.18-8~deb9u4_amd64.deb
sudo dpkg -i dirmngr_2.1.18-8~deb9u4_amd64.deb

Then you'll be able to run apt-key command to fetch the missing keys.