Wrapper script for OpenConnect supporting Azure AD (SAMLv2) authentication to Cisco SSL-VPNs
Project description
openconnect-sso
Wrapper script for OpenConnect supporting Azure AD (SAMLv2) authentication to Cisco SSL-VPNs
Installation
Using pip/pipx
A generic way that works on most 'standard' Linux distributions out of the box.
The following example shows how to install openconect-sso
along with its
dependencies including Qt:
$ pip install --user pipx
Successfully installed pipx
$ pipx install "openconnect-sso[full]"
⣾ installing openconnect-sso
installed package openconnect-sso 0.4.0, Python 3.7.5
These apps are now globally available
- openconnect-sso
⚠️ Note: '/home/vlaci/.local/bin' is not on your PATH environment variable.
These apps will not be globally accessible until your PATH is updated. Run
`pipx ensurepath` to automatically add it, or manually modify your PATH in your
shell's config file (i.e. ~/.bashrc).
done! ✨ 🌟 ✨
Successfully installed openconnect-sso
$ pipx ensurepath
Success! Added /home/vlaci/.local/bin to the PATH environment variable.
Consider adding shell completions for pipx. Run 'pipx completions' for
instructions.
You likely need to open a new terminal or re-login for the changes to take
effect. ✨ 🌟 ✨
If you have Qt 5.x installed, you can skip the installation of bundled Qt version:
pipx install openconnect-sso
Of course you can also install via pip
instead of pipx
if you'd like to
install system-wide or a virtualenv of your choice.
On Arch Linux
There is an unofficial package available for Arch Linux on AUR. You can use your favorite AUR helper to install it:
yay -S openconnect-sso
Using nix
The easiest method to try is by installing directly:
$ nix-env -i -f https://github.com/vlaci/openconnect-sso/archive/master.tar.gz
unpacking 'https://github.com/vlaci/openconnect-sso/archive/master.tar.gz'...
[...]
installing 'openconnect-sso-0.4.0'
these derivations will be built:
/nix/store/2z47740z1rr2cfqfin5lnq04sq3c5xjg-openconnect-sso-0.4.0.drv
[...]
building '/nix/store/50q496iqf840wi8b95cfmgn07k6y5b59-user-environment.drv'...
created 606 symlinks in user environment
$ openconnect-sso
An overlay is also available to use in nix expressions:
let
openconnectOverlay = import "${builtins.fetchTarball https://github.com/vlaci/openconnect-sso/archive/master.tar.gz}/overlay.nix";
pkgs = import <nixpkgs> { overlays = [ openconnectOverlay ]; };
in
# pkgs.openconnect-sso is available in this context
... or to use in configuration.nix
:
{ config, ... }:
{
nixpkgs.overlays = [
(import "${builtins.fetchTarball https://github.com/vlaci/openconnect-sso/archive/master.tar.gz}/overlay.nix")
];
}
Windows (EXPERIMENTAL)
Install with pip/pipx and be sure that you have sudo
and openconnect
executable commands in your PATH.
Usage
If you want to save credentials and get them automatically injected in the web browser:
$ openconnect-sso --server vpn.server.com/group --user user@domain.com
Password (user@domain.com):
[info ] Authenticating to VPN endpoint ...
User credentials are automatically saved to the users login keyring (if available).
If you already have Cisco AnyConnect set-up, then --server
argument is
optional. Also, the last used --server
address is saved between sessions so
there is no need to always type in the same arguments:
$ openconnect-sso
[info ] Authenticating to VPN endpoint ...
Configuration is saved in $XDG_CONFIG_HOME/openconnect-sso/config.toml
. On
typical Linux installations it is located under
$HOME/.config/openconnect-sso/config.toml
Development
openconnect-sso
is developed using Nix. Refer to the
Quick Start section of the Nix
manual to see how to get it
installed on your machine.
To get dropped into a development environment, just type nix-shell
:
$ nix-shell
Sourcing python-catch-conflicts-hook.sh
Sourcing python-remove-bin-bytecode-hook.sh
Sourcing pip-build-hook
Using pipBuildPhase
Sourcing pip-install-hook
Using pipInstallPhase
Sourcing python-imports-check-hook.sh
Using pythonImportsCheckPhase
Run 'make help' for available commands
[nix-shell]$
To try an installed version of the package, issue nix-build
:
$ nix build
[1 built, 0.0 MiB DL]
$ result/bin/openconnect-sso --help
Alternatively you may just get Poetry and
start developing by using the included Makefile
. Type make help
to see the
possible make targets.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file openconnect-ssoM1-0.8.0.tar.gz
.
File metadata
- Download URL: openconnect-ssoM1-0.8.0.tar.gz
- Upload date:
- Size: 29.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.13 CPython/3.10.5 Darwin/21.1.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ecc5ddad48bdbc3f50e71194d55c3f4deb8b024af755902da08513055699401e |
|
MD5 | f4bc962bc0c37e729cceda1f3631f6be |
|
BLAKE2b-256 | 8ab2eebbc93c6a7ee2ebc8da7d13f2df73eecaf8043844646fa6376e61ed8433 |
File details
Details for the file openconnect_ssoM1-0.8.0-py3-none-any.whl
.
File metadata
- Download URL: openconnect_ssoM1-0.8.0-py3-none-any.whl
- Upload date:
- Size: 30.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.13 CPython/3.10.5 Darwin/21.1.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6bb9479e695649dbf5e954ba22070f335518f28f6e5b94cfb921a108a5ee0ed9 |
|
MD5 | 8251c730af947abcbf8136d9e28b3df2 |
|
BLAKE2b-256 | 613f793a80ba19b49cc5644ff41cdb022f0e17d9403ec083523a97f16f9309b1 |