Virtual Private Network connection in the cloudmesh suite
Project description
cloudmesh-vpn
School | Tested | VPN-Slicing |
---|---|---|
UVA | ✅ | ❌ |
FIU | ✅ | ❌ |
UFL | ✅ | ✅ |
FAMU | ❌ | ❌ |
NYU | ✅ | ❌ |
UCI | ❌ | ❌ |
GMU | ❌ | ❌ |
OleMiss | ❌ | ❌ |
SC | ❌ | ❌ |
Install
Windows
Open any terminal (git bash, cmd, powershell) as administrator.
Python 3.12 is recommended, which can be
downloaded from the Python website. Your Python version can be checked
with the command python -V
Once confirming Python, execute:
pip install cloudmesh-vpn
Usage
To connect to the UVA Anywhere VPN, run
cms vpn connect
For other organizations, the --service
flag can be used:
cms vpn connect --service=ufl
# possible services are uva fiu ufl
Note- currently the output will be piped to the terminal
and will end in response to Ctrl + C
consider executing the following:
nohup cms vpn connect --service=ufl >/dev/null 2>&1
To disconnect from current VPN, run
cms vpn disconnect
To see info regarding your connection, run
cms vpn info
Linux
Requirements
On Linux we use the command openconnect
. To check if it is available please use
$ which openconnect
If it is not available, you can install it un Ubuntu with
$ sudo apt install openssl
$ sudo apt install openconnect
$ sudo apt install network-manager-openconnect
and in case you use gnoe also:
$ sudo apt install network-manager-gnome
$ sudo apt install network-manager-openconnect-gnome
Getting certificates
We have tested this tool only with University of Virginia, but it should be simple to adapt. Just follow the instructions to obtain the certificates from your provider.
At UVA you find the certificate and other documentation at
we place all certificates into ~/.ssh/uva
mkdir -p You will receive a file ending in .p12. In this example we will assume it is named mst3k.p12.
cd ~/.ssh/uva
wget https://download.its.virginia.edu/local-auth/universal/usher.cer
To get a certificate for your device, go to
Fill it out and get the key. You will receive a file ending in .p12. In this example we will assume it is named mst3k.p12 and place it into ~/.ssh/uva/user.p12
It is important for us to rename this key to user.p12 so we have a simpler way of identifying it and writing this documentation.
Now convert the keys and certificates with the following commands
cd ~/.ssh/uva
openssl pkcs12 -in mst3k.p12 -nocerts -nodes -out mst3k.key
openssl pkcs12 -in mst3k.p12 -clcerts -nokeys -out mst3k.crt
openssl x509 -inform DER -in usher.cer -out usher.crt
Now your UVA directory should have the following files in it.
ls ~/.ssh/uva/
user.crt user.key user.p12 usher.cer usher.crt
Install and using the command
You can now use the cloudmesh cms vpn command.
$ pip install cloudmesh-vpn
$ cms help
To connect use
$ cms vpn connect
To show the status use
$ cms vpn connect
To disconnect
$ cms vpn disconnect
Acknowledgments
This work was in part funded by the NSF CyberTraining: CIC: CyberTraining for Students and Technologies from Generation Z with the award numbers 1829704 and 2200409.
Manual Page
Command vpn
===========
::
Usage:
vpn connect [--service=SERVICE] [--timeout=TIMEOUT] [-v] [--choco]
vpn disconnect [-v]
vpn status [-v]
vpn info
This command manages the vpn connection
Options:
-v debug [default: False]
--choco installs chocolatey [default: False]
Description:
vpn info
prints out information about your current location as
obtained via the vpn connection.
vpn status
prints out "True" if the vpn is connected
and "False" if it is not.
vpn disconnect
disconnects from the VPN.
vpn connect [--service=SERVICE]
connects to the UVA Anywhere VPN.
If the VPN is already connected a warning is shown.
You can connect to other VPNs while specifying their names
as given to you by the VPN provider with e service option.
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 cloudmesh-vpn-5.0.13.tar.gz
.
File metadata
- Download URL: cloudmesh-vpn-5.0.13.tar.gz
- Upload date:
- Size: 21.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0d63d592ca363342fe1b568635d97e5411bf0b4c5c3c62062fc0c2abf4935fad |
|
MD5 | aa954606c4c3897a83c3c8c83f974311 |
|
BLAKE2b-256 | 6c0fd23783db49a7cef4166e55380cca3a0de0142a4c3b2362a24daa88afb8cc |
File details
Details for the file cloudmesh_vpn-5.0.13-py2.py3-none-any.whl
.
File metadata
- Download URL: cloudmesh_vpn-5.0.13-py2.py3-none-any.whl
- Upload date:
- Size: 20.1 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5aa5bca8463a807afac52ec7d5f812d766a2dd1325360053a0bee3dd9d55f881 |
|
MD5 | 7df20b30c9b6892397745df805a016dc |
|
BLAKE2b-256 | c1831455ae884fa2886a2a7dd70b5e7f33551c49c0bf684066d69c1a3ef1e608 |