4.0 KiB
		
	
	
	
	
			
		
		
	
	 
  
  AccessGate
    SSH key manager with automatic updates, user and group management
    
    
    View Demo
    ·
    Report Bug
    ·
    Pull request
  
Table of contents
What is AccessGate
 
You need to manage ssh keys for a project requiring multiple servers and groups, without having to manage them manually? This project lets you manage multiple servers with group permissions (server <-> group <-> user) from a clean, efficient web interface with github authentication for simpler management/security.
Few key points:
- Automatic key update when access is modified
- Permissions assigned to groups for more global management
- Restricted access per user, or with a single login on servers
Built With
This section list major frameworks/libraries used
Getting Started
Now let's see how to set up an accessgate instance.
Prerequisites
First, install the dependencies required, don't forget to update your system before continuing
- NodeJS 18+
curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash - apt install nodejs -y
- PM2
npm i -g pm2
- Git
apt install git -y
Installation
Below is an example of how you can instruct your audience on installing and setting up your app. This template doesn't rely on any external dependencies or services.
- 
Create directory mkdir /opt/accessgate cd /opt/accessgate
- 
Clone the repo in the directory git clone https://github.com/itsmrval/accessgate.git .
- 
Install NPM packages npm install
- 
Copy and rename exemple.envcp exemple.env .env
- 
Complete .env- GITHUB_CLIENT_ID & GITHUB_CLIENT_SECRET with your Github app
- SESSION_SECRET with a secured random string
 
- 
Run with PM2 pm2 start index.js pm2 save
Roadmap
- Group and user management
- Automatic server setup script
- Multi user on one server
- Admin area with key & username editing
- Permission management by non-admin user
- Non-admin users can add servers
- Multi-language
- English
- French
 
License
Distributed under the MIT License. See LICENSE.txt for more information.