Skip to content

A Remote access virtual private network using SSH. Having 3 main components, Remote LAN, Network Access Server and Client

Notifications You must be signed in to change notification settings

ishaak15/SSH-Remote-Access-VPN

Repository files navigation

SSH-Remote-Access-VPN

A Remote access virtual private network using SSH. Having 3 main components, Remote LAN, Network Access Server and Client. The concept used was remote Port forwarding using SSH. Currently the application supports only a CLI interface, as the GUI config is still in work.

Vagrant Containers were used to Set up the Remote LAN.

An AWS EC2 instance was used to setup the Network access server to listen to incoming connections. (Now been brought offline)

Client application to connect to the NAS and thereby the Remote LAN. Install all the requirements in Python3 using the following command:

pip3 install -r requirements.txt

Steps of Setup of the Entire VPN:

Setup a LAN Network

Prepare a Vagrant config file.
Create a vagrant environment using the vagrant init command and edit the Vagrantfile to look similar to Vagrantfile_LDAPServer.
The latest OS version will be downloaded from the Vagrant cloud.
Vagrant box will be set up using the vagrant up command.

Set up Network Access Server

Set up an EC2 server
Configure SSH Tunnel using the NAS_SSHDconf.txt file
Setup Tunnel opening

Local Bridge Connection

Configure SSH on the Gateway ie the point of connection of the LAN with the NAS
Setup SSH tunnel
Allow NAS to receive connections

Authentication

Generate SSH Keys of the Gateway
Copy SSH Key to a NAS
Setup LDAP on the LAN Gateway

VPN Server Application

python3 ServerVPNTunnel.py 

VPN Client to connect to Network Access Server

python3 VPNClientapp.py

About

A Remote access virtual private network using SSH. Having 3 main components, Remote LAN, Network Access Server and Client

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published