Score:2

Problem in sudo apt update with Proton VPN

us flag

Am getting this warnings/errors

  The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 71EB474019940E11
Reading package lists... Done      
W: GPG error: https://repo.protonvpn.com/debian stable InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 71EB474019940E11
E: The repository 'https://repo.protonvpn.com/debian stable InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.

When I run sudo apt update I searched on google and tried to solve it but nothing worked for me :(

Any help will be appreciated Thanks

paladin avatar
kr flag
Go to protonvpn.com and ask them for help/ search there for a GPG-key.
guiverc avatar
cn flag
Please refer https://askubuntu.com/help/on-topic, Ubuntu and official *flavors* of Ubuntu (https://ubuntu.com/download/flavours) are on-topic on this site. The on-topic link provides alternate SE sites for non-Ubuntu OSes. *You don't mention any OS & release, but your paste only mentions non-Ubuntu Debian*
karel avatar
sa flag
Does this answer your question? [How do I fix the GPG error "NO\_PUBKEY"?](https://askubuntu.com/questions/13065/how-do-i-fix-the-gpg-error-no-pubkey)
Score:3
cf flag

Here's a short script that solves the situation for Ubuntu based systems following 20.10 update (after apt-key and add-apt-repository deprecation):

curl -fsSL 'https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x<public-key>' | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/protonvpn-stable.gpg

Where <public-key> must be replaced with the NO_PUBKEY number displayed in the error message.

Explanation of the curl options:

   -f, --fail
          (HTTP) Fail silently (no output at all) on server  errors.  This
          is  mostly done to better enable scripts etc to better deal with
          failed attempts. In normal cases when an HTTP  server  fails  to
          deliver  a  document,  it  returns  an  HTML document stating so
          (which often also describes why and more). This flag  will  pre‐
          vent curl from outputting that and return error 22.

          This  method is not fail-safe and there are occasions where non-
          successful response codes will slip through, especially when au‐
          thentication is involved (response codes 401 and 407).

   -L, --location
          (HTTP) If the server reports that the requested page  has  moved
          to a different location (indicated with a Location: header and a
          3XX response code), this option will make curl redo the  request
          on  the  new  place.  If used together with -i, --include or -I,
          --head, headers from all requested pages will be shown. When au‐
          thentication  is  used,  curl  only sends its credentials to the
          initial host. If a redirect takes curl to a different  host,  it
          won't  be  able to intercept the user+password. See also --loca‐
          tion-trusted on how to change this. You can limit the amount  of
          redirects to follow by using the --max-redirs option.

          When  curl follows a redirect and the request is not a plain GET
          (for example POST or PUT), it will do the following request with
          a GET if the HTTP response was 301, 302, or 303. If the response
          code was any other 3xx code, curl will re-send the following re‐
          quest using the same unmodified method.

          You  can  tell  curl to not change the non-GET request method to
          GET after a 30x response by  using  the  dedicated  options  for
          that: --post301, --post302 and --post303.

   -S, --show-error
          When used with -s, --silent, it makes curl show an error message
          if it fails.

   -s, --silent
          Silent  or  quiet  mode. Don't show progress meter or error mes‐
          sages.  Makes Curl mute. It will still output the data  you  ask
          for, potentially even to the terminal/stdout unless you redirect
          it.

This gets the public key search results from the keyserver. You can go directly to the OpenPGP Keyserver in your browser and search for the public key in question and you'll see it. At this time, it is found at:
https://keyserver.ubuntu.com/pks/lookup?search=4EDE055B645F044F&fingerprint=on&op=index

The results are being piped into gpg which creates a key file at /etc/apt/trusted.gpg.d/protonvpn-stable.gpg

Explanation of gpg options:

   --dearmor
          Pack or unpack an arbitrary input into/from an OpenPGP ASCII ar‐
          mor.  This is a GnuPG extension to OpenPGP and  in  general  not
          very useful.

   --output file
   -o file
          Write output to file.  To write to stdout use - as the filename.
Ricardo Zanetti avatar
cf flag
Thanks for the edit!
Score:2
in flag

Proton's GPG key has long-since stopped working. The simplest way to resolve this is generally to remove ProtonVPN from your source list and re-install ProtonVPN using the steps on their site.

This is how you can remove the current ProtonVPN repositories:

  1. Open "Software & Updates": Find Software & Updates
  2. Click the "Other Software" tab: Other Software
  3. Find the items that refer to ProtonVPN and uncheck them
  4. Press "Close" and, when asked if you want to reload your sources, click on "Reload": Reload Sources

With that out of the way, you can now run your updates without error.

If you would like to continue using ProtonVPN, then you can install it like so:

  1. Uninstall the version currently on your computer using the instructions from ProtonVPN
  2. Download the current-release .deb package from the ProtonVPN website
  3. Using Nautilus (or another file browser), double-click the file to have it installed
  4. Open Terminal
  5. Update apt and install the application again:
    sudo apt update
    sudo apt install protonvpn
    

If there are still questions, the company suggests getting in touch.

tnk479 avatar
cn flag
Step 2 doesn't do anything for me. It just opens it like an archive and doesn't install anything.
mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.