/ssh-permit-a38

Central management and deployment for SSH keys

Primary LanguageRustMIT LicenseMIT

SSH Permit A38

Central management and deployment for SSH keys

Build Status

asciicast

Features

  • Central management of public SSH keys and servers in a simple and readable JSON database
  • Sync authorized users to the servers authorized_keys
  • SSH config support for the sync command connection paramaters (Hostname, User, Port)
  • User Groups
  • Host aliases
  • Diff of authorized_keys to sync and the existing one

Latest release v0.2.0 - 2018-08-18

Download prebuilt binaries

Previous Releases

Changelog

v0.2.0 - 2018-08-18

  • Support for SSH config files #5

    If a ssh-permit-a38 hostname or alias matches the ssh configs Host (or Hostname), User, Port and Host information are used for authorized_keys sync connection

  • sync command switch -y, --yes-authorized-keys-prompt: Automatic yes to authorized_keys location prompts

Previous Changes

Build from source

Prerequisites

Build

make build

Quickstart

ssh-permit-a38 host urlsmash.403.io add
ssh-permit-a38 user obelix add
ssh-permit-a38 user obelix grant urlsmash.403.io 
ssh-permit-a38 sync

Documentation

Run

ssh-permit-a38 howto

or online

Running the tests

make test

Coding style

We use rustfmt to format the source.

make fmt

Contributing

Pull requests welcome! ;)

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

Authors

See also the list of contributors who participated in this project.

License

This project is licensed under the MIT License - see the LICENSE file for details

FAQ