Skip to main content
# django-sshkm [![Build Status](https://travis-ci.org/sshkm/django-sshkm.svg?branch=master)](https://travis-ci.org/sshkm/django-sshkm)
django-sshkm is a Django based ssh-key management tool.
It stores ssh-public-keys in a database and combines them in groups (Development, Operations, Externals, ...). You can assign these groups to operating system users on target hosts and are able to deploy your configurations.

Do you have hundreds of hosts/servers and dozens of users or other systems which want to connect to these using SSH?
Do you know the problem when an employee leaves the company but knows many passwords of OS-users and now you should better change all your passwords?
Do you want to have better control over who can connect to your hosts using SSH?
Then django-sshkm is perfect for you.

## Demo
There is a demo available:
URL: [http://sshkm.guruz.at](http://sshkm.guruz.at)
USER: admin
PASSWORD: admin

## Requirements
- Linux
- RabbitMQ
- Python >= 2.7
- Django >= 1.8
- Celery >= 4.0.0
- Django compatible database like (SQLite, MySQL/MariaDB, PostgreSQL, ...)

## Used Technologies
- [Linux](https://www.kernel.org)
- [Python](https://www.python.org)
- [Django](https://www.djangoproject.com)
- [RabbitMQ](https://www.rabbitmq.com)
- [Celery](http://www.celeryproject.org)
- [Bootstrap](http://getbootstrap.com)
- [jQuery](https://jquery.com)
- [DataTables](https://datatables.net)

## Setup
- Install a RabbitMQ server.
- Install a Django compatible database.
- Install SSHKM:
you will need some development tools and libraries: gcc python python-devel python-pip mariadb-devel postgresql-devel openldap-devel httpd-devel
```bash
pip install django-sshkm
```
- Configure /etc/sshkm/sshkm.conf (create it if it does not exist)
You can find an example in your install directory (example: /usr/lib/python2.7/site-packages/sshkm/sshkm.conf).
If you use sqlite make sure that the user running celery (see next step) has read and write permissions to the db-file.
- Install a webserver which runs wsgi
Example Apache httpd:
```
Alias /static/ /usr/lib/python2.7/site-packages/sshkm/static/

<Directory /usr/lib/python2.7/site-packages/sshkm/static/>
Require all granted
</Directory>

WSGIScriptAlias /sshkm /usr/lib/python2.7/site-packages/sshkm/wsgi.py/
WSGIDaemonProcess sshkm user=apache group=apache
WSGIProcessGroup sshkm

<Directory /usr/lib/python2.7/site-packages>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
```
- Run celery
```
cd /usr/lib/python2.7/site-packages
celery worker -A sshkm -l info
```

## Firewall & SELinux
Be aware of firewall and SELinux issues

You can find more informations in the wiki: https://github.com/sshkm/django-sshkm/wiki

Release files for django-sshkm 0.1.12

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for django-sshkm 0.1.12
File Size Uploaded
django-sshkm-0.1.12.tar.gz 571.1 kB Details

Release files / django-sshkm-0.1.12.tar.gz

Download URL django-sshkm-0.1.12.tar.gz
Size 571.1 kB
Tags Source
SHA-256 checksum
How to use checksums
3986a98bfafd6a30153721a2799de275b4e0bb06ca7e5426cb9aa8e9efc11e2a
BLAKE2b-256 checksum
How to use checksums
9b9e9de24ab0a217f6c8a13d13036fcdc9906f1c1493b6661c253320be74e033
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.1.12 This release

1 release file

0.1.11

1 release file

0.1.10

1 release file

0.1.8

1 release file

0.1.7

1 release file

0.1.4

1 release file

0.1.3

1 release file

0.1.2

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page