Automatic loader of ssh keys
Project description
About
ssh keys manager for multiple password protected private keys written currently in Python. Stop adding them manually.
What it does
Defines key bundles and allows adding all of keys in the bundle to a running ssh-agent In a way it is like GNU_Keychain, but does not force you to type in all your passwords, thank you @jamiesonbecker!
What it does not
Installation
Run in virtualenv:
pip install sshadder
NOTE: The crypto path is not yet vetted, so do not install this system-wide just yet. Honestly :)
Usage
Prerequisites:
So that sshadder can work we need:
Running process of ssh-agent
Environment variable SSH_AUTH_SOCK pointing to that running process
Setup:
Run:
sshadder -i
The text will guide you to give a master password (not saved anywhere), and then for each key you wish to add, enter:
file path
password
When you’re done, choose ‘s’ option to save and quit.
Regular Use:
Run:
sshadder
Please refer to --help, which shows default locations it’s looking for the JSON files.
What is actually happening
Upon invocation in normal mode, sshadder is:
1. checking ssh-agent environment variable is pointing to something useful 1. iterating over configuration file .sshagent.json entries and is adding the keys you have added.
The key passwords are encrypted, so master password is used to decrypt them to add them to the running agent. Each password is encrypted and then encoded using Base64 and added to the key item. The text file is kept as it is now - text file.
Not sure how REALLY safe it is, but it is safer than plain text shell scripts.
Transparency
pexepect.spawn() is used, which means: Being able to access your user’s /proc filesystem at the time of adding the keys can allow unauthorized access to your passwords. An attacker could possibly “sniff” file descriptors to see the passwords passed to ssh-agent upone each key. If this is VERY unsafe for you, please send a patch/pull request :)
IF a security expert is reading these lines, I would like to learn how to avoid this
Contributing
Patches/pull/feature requests are welcome to improve the code/fix bugs. Note I’m quite a busy person, so if you can fix/add it - send me a patch/pull-request.
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
Built Distribution
File details
Details for the file sshadder-0.3.1.tar.gz
.
File metadata
- Download URL: sshadder-0.3.1.tar.gz
- Upload date:
- Size: 56.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0124b71cb57bd3184719de7db183d8880c969f103d3db1125719d637223faecf |
|
MD5 | 49f5d61e8784e1145018ffa7eb643dca |
|
BLAKE2b-256 | ef4553703d0bc3de6319f89a74c44708dbbf40ee6edf27e7e4be09a498e997f5 |
File details
Details for the file sshadder-0.3.1-py2.py3-none-any.whl
.
File metadata
- Download URL: sshadder-0.3.1-py2.py3-none-any.whl
- Upload date:
- Size: 9.5 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 93344a753dbb84ba0124c5f464d84030175b0be367af3bf109d1967234dd5d68 |
|
MD5 | 1ed1cba1f2dc1a2a4cb9cab159f21f01 |
|
BLAKE2b-256 | a400f872539119d4e3156d1c79c15fea5457a56aab5a01d88a3a328ba7aee5ac |