Skip to main content

A tool which has been written to make SSH key distribution easier for sysop teams.

Project description

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

  • 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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

SSHKeyDistribut0r-0.2.5.tar.gz (8.3 kB view details)

Uploaded Source

File details

Details for the file SSHKeyDistribut0r-0.2.5.tar.gz.

File metadata

  • Download URL: SSHKeyDistribut0r-0.2.5.tar.gz
  • Upload date:
  • Size: 8.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/53.0.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.1

File hashes

Hashes for SSHKeyDistribut0r-0.2.5.tar.gz
Algorithm Hash digest
SHA256 42ffc9fae361b42f8f063d7109f5eef8746cb503c28b45f630e4847fabe0a391
MD5 44510305fad8e3a14aa4f5c6d73c7b23
BLAKE2b-256 8e294597160d5bc66e3cc05856068ceffd09cd06cae3a3dde0b73ef062229bae

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page