SSH key manager with automatic updates, user and group management
View Demo
·
Report Bug
·
Pull request
Table of contents
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
This section list major frameworks/libraries used
Now let's see how to set up an accessgate instance.
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
-
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.env
cp 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
- 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
Distributed under the MIT License. See LICENSE.txt
for more information.