Skip to main content

Dump JSON for your ssh config include IdentityFiles and restore those.

Project description

SSH Config JSON

SSH Config JSON is dumping JSON for your ssh config include IdentityFiles and restoring those.


LICENSE PR Welcomes GitHub Actions Coverage PyPI downloads pip Version Python Version pip Format Documentation Status Black Format

SSH Config JSON enables you to pack and restore your SSH Config and Private Key in JSON format, allowing you to backup, put to CI and share with others in the project.

Features

  • Dumping your SSH Config to JSON and restore it

  • Packing up IdentityFiles with the JSON

  • AES encrypting with the JSON to enable pushing and saving public GitHub Repository

Getting Started

SSH Config JSON uses The Python Package Index(Pypi), so that you can use pip installer.

pip installer

$ pip install ssh-config-json

Usage

You can use global command scj .

Show help.

$ scj -h
SSH Config JSON
Overview:
  Dump JSON for your ssh config include IdentityFiles and restore those.

Usage:
  scj [-h|--help] [-v|--version]
  scj dump <file> [-c|--config=<config>] [-i|--identityFile] [-e|--encrypt] [--key=<key>]
  scj restore <file> [-c|--config=<config>] [-i|--identityFile] [-d|--decrypt=<key>]

Options:
  dump                       : dump SSH Config file to JSON
  restore                    : Restore SSH Config file from JSON
  <file>                     : Dumped json file
  -h, --help                 : Help
  -v, --version              : Show version
  -c, --config=<config>      : Specific SSH Config file path [default: ~/.ssh/config]
  -i, --identityFile         : Include IdentityFiles
  -e, --encrypt              : Encrypt JSON dump with AES
  --key=<key>                : Set specify key string
  -d, --decrypt=<key>        : Decrypt JSON dump with AES

Ex1) Dump your SSH Config to JSON

$ scj dump dump_config.json

Ex2) Dump your SSH Config to JSON with IdentityFiles

$ scj dump dump_config.json -i

Ex3) Restore JSON to SSH Config

$ scj restore dump_config.json

Ex4) Restore JSON to SSH Config with IdentityFiles

$ scj restore dump_config.json -i

Ex5) Dump your SSH Config to JSON with AES Encrypt

$ scj dump dump_config.json -i -e
Encrypt key: 1mado1wmf9amsie0jvo0kfmai9cjasfv # <= This is the "Key"!!

Ex6) Decrypt it

$ scj restore dump_config.json -i -d 1mado1wmf9amsie0jvo0kfmai9cjasfv

Testing

Unit Test

Using pytest, if you want to unit testing.

$ pytest

If you want to get coverage report, run coverage and check the report.

$ coverage run --source=ssh_config_json -m pytest
$ coverage report -m

Integration Test

Using pytest, if you want to do integrated tests with mark “–it”.

$ pytest --it

With tox

With tox, you can test multiple python version.(only python 3.6, 3.7, 3.8)

$ tox

Documents

The Document is HERE written by mkdocs.

Licence

This software is released under the MIT License, see LICENSE.

Changelog

v1.0.0 (2020-11-11)

  • First release.

Project details


Download files

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

Source Distribution

ssh_config_json-1.0.1.tar.gz (9.1 kB view hashes)

Uploaded Source

Built Distributions

ssh_config_json-1.0.1-py3.8.egg (13.1 kB view hashes)

Uploaded Source

ssh_config_json-1.0.1-py2.py3-none-any.whl (7.9 kB view hashes)

Uploaded Python 2 Python 3

Supported by

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