|
|
||
|---|---|---|
| model | ||
| public | ||
| routes | ||
| services | ||
| views | ||
| .gitignore | ||
| LICENSE | ||
| README.md | ||
| exemple.env | ||
| index.js | ||
| package.json | ||
README.md
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
-
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.