Skip to content
This repository has been archived by the owner on Oct 11, 2023. It is now read-only.

Asks for OpenVPN credentials upon connection on Fedora 34 #13

Open
MillironX opened this issue Jun 23, 2021 · 22 comments
Open

Asks for OpenVPN credentials upon connection on Fedora 34 #13

MillironX opened this issue Jun 23, 2021 · 22 comments

Comments

@MillironX
Copy link

A system dialog appears every time I connect using the ProtonVPN app asking for my OpenVPN password. I don't believe this is the intended behavior, and makes connecting much more difficult.

Steps to reproduce

  1. On the command line
sudo dnf install https://protonvpn.com/download/protonvpn-stable-release-1.0.0-1.noarch.rpm -y
sudo dnf install protonvpn -y --refresh
protonvpn
  1. In the GUI
    1. Enter the KDE wallet password
    2. Login using your credentials
    3. Select any combination of Secure Core, Netshield, and Kill Switch options
    4. Click "Quick Connect"

Expected behavior

Connection proceeds without prompt

Actual behavior

Dialog appears asking for OpenVPN password for whichever server was selected. Entering the OpenVPN password from my ProtonVPN account page allows the connection to succeed.

Machine Info

OS Name=Fedora
Version=34 (KDE Plasma)
uname -a output=Linux nattie 5.11.17-300.fc34.x86_64 #1 SMP Wed Apr 28 14:21:28 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

@calexandru2018
Copy link
Collaborator

Hey @MillironX

Thank you for your great report. This is indeed not a desired behavior. My suspicion is that the kwallet needs to be tweaked. Could you please try the following:

  1. Got to https://account.protonvpn.com/downloads
  2. Download .ovpn file of your choice (that is compatible with your plan)
  3. Import it via NM Plasma
  4. Set the password to "Store only for this user"
  5. Enable the VPN connection

After completing step 5, please provide some feedback. I suspect that you'll also be prompted for openvpn password, but I would need confirmation on that.

@MillironX
Copy link
Author

@calexandru2018

I followed your steps with one exception: between steps 4 and 5 I had to copy my openvpn username and password into NM Plasma before enabling the connection, or else it would time out. I have not been prompted for the openvpn password with this method, even after logging out and back in.

@calexandru2018
Copy link
Collaborator

calexandru2018 commented Jun 24, 2021

Hey @MillironX

Thank you for the reply. Indeed the credentials need to be provided otherwise the VPN won't work.

From what I've understood, you've installed Fedora 34 and then on top of it installed KDE Plasma, or did you install the KDE Plasma version of Fedora ?

@MillironX
Copy link
Author

@calexandru2018

I installed the Fedora KDE Spin directly

@calexandru2018
Copy link
Collaborator

Hey @MillironX

I've tried to recreate this on Fed32 KDE but I was not able to recreate this issue. Could you please reach out to our support at: https://protonvpn.com/support-form

@MillironX
Copy link
Author

@calexandru2018

Already reached out to support, and their answer was (in so many words): "Fedora 34 isn't our problem."

I suspect that this issue is peculiar to Fedora 34+ (hence why Fedora 32 couldn't reproduce), as there are pretty significant changes to Python in 34 compared to 33.

The OpenVPN protocols are a very livable workaround for the time being, but I would like to see this fixed in the long term, especially since RHEL 9 is supposed to use Fedora 34 as its direct upstream.

@calexandru2018
Copy link
Collaborator

Hey @MillironX

That is odd. I've now tested on a fresh version of KDE Fedora 34 and am not experiencing this issue. I think this has to do with KWallet limitations tbh. Please check the following. What I want to know at this point is:

  1. Do you use of autologin feature ? If yes, then this can be once cause.
  2. Do you have multiple wallets in KWallet Manager App ? If so, then that can be a cause (as per the docs you should have only one wallet, called kdewallet and of blowfish encryption)
  3. Is Close when last application stops using it disabled in KWallet ?

@MillironX
Copy link
Author

@calexandru2018

  1. I have never enabled an autologin feature. My wallet password was blank, which seems similar to the link you provided, though.
  2. No, just one wallet named kdewallet with blowfish encryption
  3. Yes

This brings up a couple of new items I'd like to try, but I won't get to them until after this weekend.

@calexandru2018
Copy link
Collaborator

@MillironX if it still does not work, I would advise you to contact our support team. From last week (22nd June) we started to officially support a wide range of distros, including Fedora 34 (that was not the case before though).

@Thalley
Copy link

Thalley commented Jul 23, 2021

This issue also appears on the Arch AUR build as of version 1.0.1

Interestingly, this only happens on my PC where I haven't stored the OVPN login in my network manager manually. On my other PC it asks for my OVPN credential for each connection.

@apmangan
Copy link

Same behavior on Fedora 35 (KDE Plasma/X11)
(Linux xxx 5.15.16-200.fc35.x86_64 #1 SMP Thu Jan 20 15:38:18 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux)

I'm using gnome-keyring, not kwallet, with gnome-keyring daemon running.

Installed as per https://protonvpn.com/support/official-linux-vpn-fedora/
Got behavior as @MillironX described above.
Uninstalled. Deleted all protonvpn keys from gnome-keyring (via Seahorse).
Re-installed, same issue. Same results whether using "protonvpn" or "protonvpn-cli".

FWIW I had an old install of protonvpn on this machine (Jan. 2021, Fedora 33), but went through the uninstall steps. I assume uninstalling and removing any gnome-keyring keys would clear out the old cruft.

I'm not sure if this is relevant, but I get an error about kwallet not being available immediately upon start:
$ protonvpn
ERROR:dbus.proxies:Introspect error on :1.212:/modules/kwalletd5: dbus.exceptions.DBusException: org.freedesktop.DBus.Error.NoReply: Remote peer disconnected
ERROR:protonvpn:Unable to select keyring.backends.kwallet.DBusKeyring (priority: 5.1) backend
Traceback (most recent call last):
File "/usr/lib/python3.10/site-packages/keyring/backends/kwallet.py", line 99, in connected
self.handle = self.iface.open(self.iface.networkWallet(), wId, self.appid)
File "/usr/lib64/python3.10/site-packages/dbus/proxies.py", line 72, in call
return self._proxy_method(*args, **keywords)
File "/usr/lib64/python3.10/site-packages/dbus/proxies.py", line 141, in call
return self._connection.call_blocking(self._named_service,
File "/usr/lib64/python3.10/site-packages/dbus/connection.py", line 652, in call_blocking
reply_message = self.send_message_with_reply_and_block(
dbus.exceptions.DBusException: org.freedesktop.DBus.Error.ServiceUnknown: The name is not activatable

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/lib/python3.10/site-packages/protonvpn_nm_lib/core/keyring/linuxkeyring.py", line 121, in _ensure_backend_is_working
self.__keyring_backend.get_password(
File "/usr/lib/python3.10/site-packages/keyring/backends/kwallet.py", line 110, in get_password
if not self.connected(service):
File "/usr/lib/python3.10/site-packages/keyring/backends/kwallet.py", line 101, in connected
raise InitError('Failed to open keyring: %s.' % e)
keyring.errors.InitError: Failed to open keyring: org.freedesktop.DBus.Error.ServiceUnknown: The name is not activatable.

Is there some snafu related to python keyring assuming kwallet is available since the DE is KDE?

@MillironX
Copy link
Author

MillironX commented Jan 31, 2022

Thanks, @apmangan, for reminding me: I also had an old protonvpn install (don't know version) that I had "completely" removed before performing the steps to reproduce. I don't remember the exact procedure, but it involved at least

  1. sudo dnf remove '*proton*' -y
  2. Deleting the KDE wallet
  3. rm -rf ~/.{config,cache}/protonvpn

I then had an issue with my Nvidia driver, and wound up reinstalling my OS. My home directory is located on a separate partition from the rest of my OS, so no home directory files were modified, but I was no longer able to reproduce this bug after that. That suggests to me that a file outside of the home directory was modified by the old protonvpn install and creates this bug.

@apmangan
Copy link

apmangan commented Feb 8, 2022

Thanks for the tips. I followed your 3 steps as above; changing step 2 to remove the gnome-keyring keys instead of kwallet. Same prompt for credentials after re-installing.

@rafaelnp
Copy link

rafaelnp commented Dec 9, 2022

Surprised to see this, and other related issues are still open. I am using Arch Linux + Protonvpn GUI. After reading #67, and some trial and error, I found an workaround for avoiding the openvpn credential request: I started nm-applet (belongs to network-manager-applet). These are the software versions currently installed on my computer:

  • protonvpn-gui 1.12.0
  • kde plasma 5.26.4
  • qt 5.15.7
  • kernel 6.0.8
  • wayland 1.21.0
  • network-manager-applet 1.30.0

I hope, it might be helpful.

@daspraanjal
Copy link

@calexandru2018

Already reached out to support, and their answer was (in so many words): "Fedora 34 isn't our problem."

I suspect that this issue is peculiar to Fedora 34+ (hence why Fedora 32 couldn't reproduce), as there are pretty significant changes to Python in 34 compared to 33.

The OpenVPN protocols are a very livable workaround for the time being, but I would like to see this fixed in the long term, especially since RHEL 9 is supposed to use Fedora 34 as its direct upstream.

The same problem I face with Debian Sid

@shipdocs
Copy link

shipdocs commented Mar 3, 2023

Surprised to see this, and other related issues are still open. I am using Arch Linux + Protonvpn GUI. After reading #67, and some trial and error, I found an workaround for avoiding the openvpn credential request: I started nm-applet (belongs to network-manager-applet). These are the software versions currently installed on my computer:

* protonvpn-gui 1.12.0

* kde plasma 5.26.4

* qt 5.15.7

* kernel 6.0.8

* wayland 1.21.0

* network-manager-applet 1.30.0

I hope, it might be helpful.

To me a s a Debian Bullseye user who was struggeling to get protonvpn to work, this actually worked.
I started nm-applet, and for some reason the connection was flawless anxd set up automaticly

@MahtoSujeet
Copy link

I'm having the same issue, I'm running Arch + KDE Plasma 5.27.6 . I tried disabling the kwallet, but that didn't work.

@mabzzz
Copy link

mabzzz commented Jul 27, 2023

Me too, on Ubuntu 23.04 Lunar Lobster.

@Axel57000
Copy link

Axel57000 commented Jul 30, 2023

I have the same problem on a fresh Debian 12 install with KDE (so KDE Wallet) on a ThinkPad W540. For some reason, I managed to connect to servers without being asked for the password, but as soon as I restarted the computer, the same problem appeared. I've tried the OpenVPN password associated with my account, but it doesn't work.

Edit : I identified a really strange behavior. For some weird reason, I can connect to several countries like Estonia, Luxembourg, Romania, Ukraine but I just can't connect to some countries like Australia, France, Germany, Switzerland, United Kingdom. Well, I didn't try all countries but apparently, there are some servers that are unreachable. I will have that open asking my OpenVPN login, except it doesn't work (and yes, I used OpenVPN / IKEv2 login).

@rafaelnp
Copy link

rafaelnp commented Aug 4, 2023

I'm having the same issue, I'm running Arch + KDE Plasma 5.27.6 . I tried disabling the kwallet, but that didn't work.

Is your system up to date? I mean, the AUR related dependencies. Currently I do not need to use the workaround with nm-applet, it is working fine. Try to delete the protonvpn configuration files and start it again.

@flufficat
Copy link

Hi, to let you know this has been fixed at least on my machine in the protonvpn-nm-lib 3.16.0 release. Despite mentioning this issue they have solved in the release notes, proton haven't commented on this issue so I thought I would.

I had to rebuild protonvpn once I had checked that version 3.16.0 was installed. I simply uninstalled it and then reinstalled it:
Uninstalling protonvpn* and installing protonvpn

Then it will be using the new version of the library. I would like to know if this has also fixed this issue on your machine as it seems to have completely solved it on mine. Best wishes

@MahtoSujeet
Copy link

MahtoSujeet commented Aug 18, 2023

I'm having the same issue, I'm running Arch + KDE Plasma 5.27.6 . I tried disabling the kwallet, but that didn't work.

Is your system up to date? I mean, the AUR related dependencies. Currently I do not need to use the workaround with nm-applet, it is working fine. Try to delete the protonvpn configuration files and start it again.

Actually I re-installed my system recently, and its automagickly got fixed. Had no issues since then.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests