SerhiiZahuba / ssham

SSH Access Manager

Home Page:https://ssham.pacoorozco.info

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SSH Access Manager Web Interface

Build Status codecov License Laravel Version GitHub release

Presentation

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.

Changelog

See our CHANGELOG file in order to know what changes are implemented in every version.

Requirements

How to test SSH Access Manager

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:

  1. Clone the repository locally

    $ git clone https://github.com/pacoorozco/ssham.git ssham
    $ cd ssham
  2. Copy .env.example to .env.

    NOTE: You don't need to touch anything from this file. It works with default settings.

  3. Start all containers with Docker Compose

    NOTE: You must export the DOCKER_SSHAM_UID variable if your user ID is different from 1000. This will allow the docker to get permissions over your files.

    $ export DOCKER_SSHAM_UID="$(id -u)"
    $ docker-compose build
    $ docker-compose up -d
  4. Install dependencies with:

    $ docker-compose exec app composer install
  5. 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
  6. Point your browser to http://localhost and test SSH Access Manager. Enjoy!

    NOTE: See Default credentials.

How to install SSH Access Manager

  1. Clone the repository locally

    $ git clone https://github.com/pacoorozco/ssham.git ssham
    $ cd ssham
  2. Install PHP dependencies with composer

    $ curl -s http://getcomposer.org/installer | php
    $ php composer.phar install
  3. Copy .env.example to .env.

  4. 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'
  5. Seed database in order to play with some data

    $ php artisan key:generate 
    $ php artisan migrate:fresh --seed
  6. Make sure storage/ and bootstrap/cache/ folders are writable by your web server. You can do it this way:

    $ chmod -R 777 storage/ bootstrap/cache/
  7. You can use the local PHP server to run the application.

    $ php artisan serve --port=4000`
  8. Your SSH Access Manager is not listening at http://localhost:4000. Enjoy!

    NOTE: See Default credentials.

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

Reporting issues

If you have issues with SSH Access Manager, you can report them with the GitHub issues module.

Contributing

Please see CONTRIBUTING for details.

License

SSH Access Manager is released as free software under GPLv3

Authors

This app was original coded by Paco Orozco (paco at pacoorozco.info)

Additional information

This application was born with a different interface on Sourceforge.

About

SSH Access Manager

https://ssham.pacoorozco.info

License:GNU General Public License v3.0


Languages

Language:PHP 70.9%Language:Blade 27.7%Language:Shell 1.1%Language:Dockerfile 0.3%