With this program you'll be able to add your ssh key through a web-ui.
The keys will be store in a json file.
A small script installed on all hosts will pull the json file and add keys for concerned users.
Note : the json database is only store on the web-ui server.
+-------+
| WEBui |
+---+---+
| [1]
+-------|--------+ +-----------------+
| v | [2] | |
| MASTER | <---------------- AGENT |
| | | | ^ |
+-------|--------+ +--------|--------+
| |
+----------------------------------+
[3][1]- adding the ssh keys to the json database through the web-ui[2]- agent ask the master to get the json[3]- master send the json and the agent apply all modification itself
- Configuration file for the master
- Simple and fonctionnal web-ui
- Manage key through json
- Possibility to disable key
- Improve security and clean code
- Add possibility to list all the key in the web-ui
- Add possibility to delete the key directly on the web-ui
# apt-get install jq git php5-fpm nginxCreate an user who can manage the SSH-Key and specify the home (here /srv/ssh-management) and clone the repo :
# useradd -m -d /srv/ssh-management ssh-management
# cd ~
# git clone https://github.com/ab-a/sshkey.git
# cp -r sshkey/master/web-ui /srv/ssh-managementThe agent will be run with the user root (or any user with root to have the right to edit all .ssh/auhorized_keys.).
Generate an SSH Key and push it to the master server :
# ssh-keygen -t rsa -b 4096The agent will ask the master, pull and parse the json and set the keys.
The web-ui allows you to push your SSH key into the json.
Source : https://www.sanwebe.com/2014/08/css-html-forms-designs
