All Projects → thomai → Sshkeydistribut0r

thomai / Sshkeydistribut0r

Licence: other
A tool to automate key distribution with user authorization

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Sshkeydistribut0r

Awesome Ssh
💻 A curated list of SSH resources.
Stars: ✭ 1,742 (+1038.56%)
Mutual labels:  ssh-key
Registration Login Spring Xml Maven Jsp Mysql
Registration and Login Example with Spring MVC, Spring Security, Spring Data JPA, XML Configuration, Maven, JSP, and MySQL.
Stars: ✭ 134 (-12.42%)
Mutual labels:  authorization
Cedarkey
$2 hardware SSH keys storage
Stars: ✭ 148 (-3.27%)
Mutual labels:  ssh-key
Caddy Auth Jwt
JWT Authorization Plugin for Caddy v2
Stars: ✭ 127 (-16.99%)
Mutual labels:  authorization
Natrium
A pre-build (Swift) script to alter your Xcode project at pre-build-time per environment, build configuration and target.
Stars: ✭ 131 (-14.38%)
Mutual labels:  yml
Laravel Authz
An authorization library that supports access control models like ACL, RBAC, ABAC in Laravel.
Stars: ✭ 136 (-11.11%)
Mutual labels:  authorization
Node Rate Limiter Flexible
Node.js rate limit requests by key with atomic increments in single process or distributed environment.
Stars: ✭ 1,950 (+1174.51%)
Mutual labels:  authorization
Express Mongodb Rest Api Boilerplate
A boilerplate for Node.js apps / Rest API / Authentication from scratch - express, mongodb (mongoose).
Stars: ✭ 153 (+0%)
Mutual labels:  authorization
Laravel Governor
Manage authorization with granular role-based permissions in your Laravel Apps.
Stars: ✭ 131 (-14.38%)
Mutual labels:  authorization
Vuejs2 Authentication Tutorial
Stars: ✭ 144 (-5.88%)
Mutual labels:  authorization
Laravel Auth
A powerful authentication, authorization and verification package built on top of Laravel. It provides developers with Role Based Access Control, Two-Factor Authentication, Social Authentication, and much more, compatible Laravel’s standard API and fully featured out of the box.
Stars: ✭ 128 (-16.34%)
Mutual labels:  authorization
Jsonapi Authorization
Authorization for JSONAPI::Resource
Stars: ✭ 130 (-15.03%)
Mutual labels:  authorization
Fullstack Apollo React Boilerplate
💥A sophisticated Apollo in React boilerplate project.
Stars: ✭ 136 (-11.11%)
Mutual labels:  authorization
Hydra
OpenID Certified™ OpenID Connect and OAuth Provider written in Go - cloud native, security-first, open source API security for your infrastructure. SDKs for any language. Compatible with MITREid.
Stars: ✭ 11,884 (+7667.32%)
Mutual labels:  authorization
Fastapi Jwt Auth
FastAPI extension that provides JWT Auth support (secure, easy to use, and lightweight)
Stars: ✭ 150 (-1.96%)
Mutual labels:  authorization
Fosite
Extensible security first OAuth 2.0 and OpenID Connect SDK for Go.
Stars: ✭ 1,738 (+1035.95%)
Mutual labels:  authorization
Laratrust
Handle roles and permissions in your Laravel application
Stars: ✭ 1,799 (+1075.82%)
Mutual labels:  authorization
Speedle
Speedle is an open source project for access control.
Stars: ✭ 153 (+0%)
Mutual labels:  authorization
Negroni Authz
negroni-authz is an authorization middleware for Negroni
Stars: ✭ 152 (-0.65%)
Mutual labels:  authorization
Yaml Expander
Expands internal property references in a yaml file.
Stars: ✭ 137 (-10.46%)
Mutual labels:  yml

CC BY Build Status

SSHKeyDistribut0r has been written to make SSH key distribution easier for sysop teams.

Screenshot

How to use

Install

pip install SSHKeyDistribut0r

Create configuration files

First, copy the YAML sample files to your users config directory and customize them.

The sample files should be in $HOME/.local/share/SSHKeyDistribut0r/config_sample, /usr/local/share/SSHKeyDistribut0r/config_sample or /usr/share/SSHKeyDistribut0r/config_sample

The config files need to be copied to $USER_CONFIG_DIR/SSHKeyDistribut0r/ ($HOME/.config/... on most Linux systems, check SSHKeyDistribut0r -h for the location on your system)

The keys.yml file has to contain all users which are used in the servers.yml file. Every entry in the YML structure requires the following attributes: The fullname is a string value to mention the full name of a person. keys is a list of SSH keys in the format ssh-rsa <KEY> <comment>.

The servers.yml file contains all servers with the specified user permissions. It consists of a list of dictionaries with the following attributes:

  • ip: String value in the format XXX.XXX.XXX.XXX
  • port: Integer value which specifies the SSH port
  • user: String value which specifies the system user to log in.
  • comment: String value to describe the system
  • authorized_users: List of strings which specify a user. Every user has to be declared in the keys.yml file as a key.

Usage

Run SSHKeyDistribut0r to distribute your SSH keys :)

Note, that a pre-installed public key on the server side with a corresponding private key (without a passphrase or pre-loaded into a local key agent) is required for SSHKeyDistribut0r to work.

Options

  • --dry-run/-n: To verify your configuration whithout actually applying those changes.
  • --keys/-k: Custom path to keys file
  • --server/-s: Custom path to server file

New Release

Build Python Package

  • Update CHANGELOG.md
  • Update version in setup.py
  • Update CONTRIBUTORS.md
  • Install package builder: pip install build
  • Build package: python -m build
  • Installation: pip install ./dist/SSHKeyDistribut0r-<version>.tar.gz
  • Do tests

Upload to PyPI

  • Install twine: pip install twine
  • Upload: twine upload ./dist/SSHKeyDistribut0r-<version>.tar.gz

Git Stuff

  • git add .
  • Commit new version: git commit -m "Version x.x.x"
  • git push
  • git checkout master
  • Update master branch: git merge develop
  • git push
  • Set version tag: git tag x.x.x
  • git push --tags
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].