Skip to main content

Automatic loader of ssh keys

Project description

https://github.com/mvk/sshadder/raw/master/logo.200x200.png

About

https://travis-ci.org/mvk/sshadder.svg?branch=master

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

  • graphic desktop, messaging a lá D-Bus and the likes

  • compete with real private keys managers like Seahorse, LastPass, KeePass

  • manage ssh-agent

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

sshadder-0.3.1.tar.gz (56.4 kB view details)

Uploaded Source

Built Distribution

sshadder-0.3.1-py2.py3-none-any.whl (9.5 kB view details)

Uploaded Python 2 Python 3

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

Hashes for sshadder-0.3.1.tar.gz
Algorithm Hash digest
SHA256 0124b71cb57bd3184719de7db183d8880c969f103d3db1125719d637223faecf
MD5 49f5d61e8784e1145018ffa7eb643dca
BLAKE2b-256 ef4553703d0bc3de6319f89a74c44708dbbf40ee6edf27e7e4be09a498e997f5

See more details on using hashes here.

File details

Details for the file sshadder-0.3.1-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for sshadder-0.3.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 93344a753dbb84ba0124c5f464d84030175b0be367af3bf109d1967234dd5d68
MD5 1ed1cba1f2dc1a2a4cb9cab159f21f01
BLAKE2b-256 a400f872539119d4e3156d1c79c15fea5457a56aab5a01d88a3a328ba7aee5ac

See more details on using hashes here.

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