インストールしたいオープンコネクトSSHプロジェクトのインストール手順は複雑に思えますが、何pipx
が複雑なのかよくわかりません。
pipx を使用せず、ネイティブの Ubuntu qt ライブラリを使用して Ubuntu に openconnect-sso をインストールするにはどうすればよいですか?
を使用してインストールしようとしましたpip
が、次のエラーが発生しました。
Traceback (most recent call last):
File "/home/merlijn/.local/bin/openconnect-sso", line 5, in <module>
from openconnect_sso.cli import main
File "/home/merlijn/.local/lib/python3.9/site-packages/openconnect_sso/cli.py", line 10, in <module>
from openconnect_sso import app, config, __version__
File "/home/merlijn/.local/lib/python3.9/site-packages/openconnect_sso/app.py", line 16, in <module>
from openconnect_sso.authenticator import Authenticator, AuthResponseError
File "/home/merlijn/.local/lib/python3.9/site-packages/openconnect_sso/authenticator.py", line 6, in <module>
from openconnect_sso.saml_authenticator import authenticate_in_browser
File "/home/merlijn/.local/lib/python3.9/site-packages/openconnect_sso/saml_authenticator.py", line 3, in <module>
from openconnect_sso.browser import Browser
File "/home/merlijn/.local/lib/python3.9/site-packages/openconnect_sso/browser/__init__.py", line 1, in <module>
from .browser import Browser, DisplayMode, Terminated
File "/home/merlijn/.local/lib/python3.9/site-packages/openconnect_sso/browser/browser.py", line 5, in <module>
from . import webengine_process as web
File "/home/merlijn/.local/lib/python3.9/site-packages/openconnect_sso/browser/webengine_process.py", line 12, in <module>
from PyQt5.QtCore import QUrl, QTimer
ModuleNotFoundError: No module named 'PyQt5'
Traceback (most recent call last):
File "/home/merlijn/.local/bin/openconnect-sso", line 5, in <module>
from openconnect_sso.cli import main
File "/home/merlijn/.local/lib/python3.9/site-packages/openconnect_sso/cli.py", line 10, in <module>
from openconnect_sso import app, config, __version__
File "/home/merlijn/.local/lib/python3.9/site-packages/openconnect_sso/app.py", line 16, in <module>
from openconnect_sso.authenticator import Authenticator, AuthResponseError
File "/home/merlijn/.local/lib/python3.9/site-packages/openconnect_sso/authenticator.py", line 6, in <module>
from openconnect_sso.saml_authenticator import authenticate_in_browser
File "/home/merlijn/.local/lib/python3.9/site-packages/openconnect_sso/saml_authenticator.py", line 3, in <module>
from openconnect_sso.browser import Browser
File "/home/merlijn/.local/lib/python3.9/site-packages/openconnect_sso/browser/__init__.py", line 1, in <module>
from .browser import Browser, DisplayMode, Terminated
File "/home/merlijn/.local/lib/python3.9/site-packages/openconnect_sso/browser/browser.py", line 5, in <module>
from . import webengine_process as web
File "/home/merlijn/.local/lib/python3.9/site-packages/openconnect_sso/browser/webengine_process.py", line 14, in <module>
from PyQt5.QtWebEngineWidgets import QWebEngineView, QWebEngineScript, QWebEngineProfile
ModuleNotFoundError: No module named 'PyQt5.QtWebEngineWidgets'
答え1
まず、Qt5 Python 依存関係をインストールする必要があります。
sudo apt install python3-pyqt5 python3-pyqt5.qtwebengine vpnc-scripts openconnect
次に、pipを使用してopenconnect-ssoをインストールします。
pip install openconnect-sso
その後、アプリを簡単に実行できます。
$ openconnect-sso -s vpn.example.com --browser-display-mode shown
[info ] Authenticating to VPN endpoint [openconnect_sso.app] address=vpn.example.com name=
[info ] Response received [openconnect_sso.authenticator] id=main message=Please complete the authentication process in the AnyConnect Login window. title=Login
[info ] Browser started [webengine] startup_info=StartupInfo(url='https://vpn.example.com/...', credentials=None)
[info ] Loading page [webengine] url=https://vpn.example.com/...
[info ] Terminate requested. [webengine]
[info ] Exiting browser [webengine]
[info ] Browser exited [openconnect_sso.browser.browser]
[info ] Response received [openconnect_sso.authenticator] id=success message=
答え2
以下は、インストール手順へのリンクとして私が開いた問題です。https://github.com/vlaci/openconnect-sso/issues/114<-- (同意して注目を集めたい場合は、GitHub で親指を立てて投票してください)
...ここにあります:openconnect-sso
Okta シングル サインオン (SSO) による SAML および Duo 2 要素認証で「openconnect」(ラッパー経由) を使用する方法<-- 完全な手順、詳細、スクリーンショットについては、こちらをご覧ください。
要するに、Linux Ubuntu にインストールするにopenconnect
は、次の手順を実行します。openconnect-sso
sudo apt update
sudo apt install vpnc-scripts openconnect # install openconnect
sudo apt install python3
python3 -m pip install --upgrade pip
python3 -m pip install openconnect-sso # install openconnect-sso
# install openconnect-sso dependencies, including forcing a reinstall of PyQt5
# uninstall
python3 -m pip uninstall PyQt5
python3 -m pip uninstall PyQt5-sip
python3 -m pip uninstall PyQtWebEngine
python3 -m pip uninstall keyring
# reinstall
python3 -m pip install PyQt5
python3 -m pip install PyQt5-sip
python3 -m pip install PyQtWebEngine
python3 -m pip install keyring
python3 -m pip install cffi
# Check the version
# My output is: `openconnect-sso 0.7.3`
openconnect-sso --version
参照私の主な答えカスタム構成ファイルを作成する方法~/.my_ssl.conf
と、それに追加する内容について説明します。主な回答には、発生する可能性のあるエラーを回避するために必要な詳細が含まれています。
ファイルの最後に~/.bashrc
もいくつかの行を追加する必要があります。私の主な答え。
使用法(注:サーバーアドレスとSAMLグループの確認方法については、私の回答の下部にある「VPNサーバーアドレスとSAMLグループを見つける方法」):
VPN_SERVER_ADDRESS="myvpn.whatever.com" # example server address to connect to
VPN_SAML_GROUP="whatever-saml-whatever" # example SAML group name
VPN_USER="[email protected]" # example username
# or perhaps just this for the username:
# VPN_USER="my.username"
# connect via `openconnect-sso`
# The first time ever, you must specify everything
openconnect-sso --server "${VPN_SERVER_ADDRESS}/${VPN_SAML_GROUP}" --user "${VPN_USER}"
# Subsequent connection attempts can be done with just this, since apparently
# the server address, SAML group, and username are cached after the first usage
openconnect-sso