Centralized, self-hosted management panel for access via ssh keys
 
 
 
Go to file
Valentin 3e8ed391a6
Update README.md
2024-06-13 01:42:55 +02:00
model sync 2023-09-14 18:50:39 +02:00
public remove no resize on textarea 2023-09-16 20:02:47 +02:00
routes . 2023-09-16 20:00:03 +02:00
services - logs 2023-09-16 18:56:05 +02:00
views Update login.ejs 2023-10-03 10:29:58 +02:00
.gitignore database setup / user model / ejs 2023-09-10 14:47:24 +02:00
LICENSE Update LICENSE 2023-09-17 11:52:32 +02:00
README.md Update README.md 2024-06-13 01:42:55 +02:00
exemple.env temp fix lastPull server 2023-09-13 16:21:49 +02:00
index.js temp fix lastPull server 2023-09-13 16:21:49 +02:00
package.json first release :) 2023-09-17 11:54:48 +02:00

README.md


Logo

AccessGate

SSH key manager with automatic updates, user and group management

View Demo · Report Bug · Pull request

Table of contents
  1. What is AccessGate ?
  2. Getting started
  3. Roadmap
  4. License

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

(back to top)

Built With

This section list major frameworks/libraries used

(back to top)

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

  1. Create directory

    mkdir /opt/accessgate
    cd /opt/accessgate
    
  2. Clone the repo in the directory

    git clone https://github.com/itsmrval/accessgate.git .
    
  3. Install NPM packages

    npm install
    
  4. Copy and rename exemple.env

    cp exemple.env .env
    
  5. Complete .env

    • GITHUB_CLIENT_ID & GITHUB_CLIENT_SECRET with your Github app
    • SESSION_SECRET with a secured random string
  6. Run with PM2

    pm2 start index.js
    pm2 save
    

(back to top)

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

(back to top)

License

Distributed under the MIT License. See LICENSE.txt for more information.

(back to top)