SSH Access Manager is a comprehensive access security management platform that permits IT professionals to easily establish and maintain an enterprise-wide SSH access security solution from a central location.
It enables a team of system administrators to centrally manage and deploy SSH keys. This app is intended to be used in rather large environment where access to unix accounts are handled with SSH keys.
SSH Access Manager allows you to maintain user public keys. You can organise these keys with group of keys called keyring. Then SSH Access Manager will deploy the keys and/or key rings to specified unix accounts / groups / servers.
See our CHANGELOG file in order to know what changes are implemented in every version.
- PHP 8.0+.
- A supported relational database and corresponding PHP extension.
- Composer.
This will create several Docker containers to implement all SSHAM needs. A web server and a database server.
Prior to this installation, you need to have installed this software:
-
Clone the repository locally
$ git clone https://github.com/pacoorozco/ssham.git ssham $ cd ssham
-
Copy
.env.example
to.env
.NOTE: You don't need to touch anything from this file. It works with default settings.
-
Start all containers with Docker Compose
NOTE: You must export the
DOCKER_SSHAM_UID
variable if your user ID is different from1000
. This will allow the docker to get permissions over your files.$ export DOCKER_SSHAM_UID="$(id -u)" $ docker-compose build $ docker-compose up -d
-
Install dependencies with:
$ docker-compose exec app composer install
-
Seed database in order to play with some data
$ docker-compose exec app php artisan key:generate $ docker-compose exec app php artisan migrate:fresh --seed
-
Point your browser to
http://localhost
and test SSH Access Manager. Enjoy!NOTE: See Default credentials.
-
Clone the repository locally
$ git clone https://github.com/pacoorozco/ssham.git ssham $ cd ssham
-
Install PHP dependencies with composer
$ curl -s http://getcomposer.org/installer | php $ php composer.phar install
-
Copy
.env.example
to.env
. -
Modify the content of the
.env
file to put your settings, something like that:APP_ENV=production APP_DEBUG=false APP_URL=https://my.domain.com DB_HOST='Your database host' DB_DATABASE='Your database name' DB_USERNAME='Your database user' DB_PASSWORD='Your database password'
-
Seed database in order to play with some data
$ php artisan key:generate $ php artisan migrate:fresh --seed
-
Make sure
storage/
andbootstrap/cache/
folders are writable by your web server. You can do it this way:$ chmod -R 777 storage/ bootstrap/cache/
-
You can use the local PHP server to run the application.
$ php artisan serve --port=4000`
-
Your SSH Access Manager is not listening at
http://localhost:4000
. Enjoy!NOTE: See Default credentials.
Some users are created by default:
Role | Username | Password | It can modify... |
---|---|---|---|
Super Admin | superadmin | superadmin | Everything |
Admin | admin | admin | Everything, except Users and Settings |
Operator | operator | operator | Keys and Hosts |
Auditor | auditor | auditor | Nothing, READ-ONLY role |
If you have issues with SSH Access Manager, you can report them with the GitHub issues module.
Please see CONTRIBUTING for details.
SSH Access Manager is released as free software under GPLv3
This app was original coded by Paco Orozco (paco at pacoorozco.info)
This application was born with a different interface on Sourceforge.