Symmetric encryption using the ssh-agent
Project description
Abstract
Yet another implementation of the idea, to use the SSH agent for symmetric encryption. This time for Python (2+3).
Load a key and make an SSH connection with agent-forwarding:
local-machine ~ % ssh-add
local-machine ~ % ssh -A remote-machine
Create some agentcrypt enabled scripts on the remote host:
remote-machine ~ % cat << '_EOF_' > encryptor.py
import sys
from agentcrypt.io import Container
with Container.create(sys.stdout) as cntr:
for line in sys.stdin:
cntr.write(line)
_EOF_
remote-machine ~ % cat << '_EOF_' > decryptor.py
import sys
from agentcrypt.io import Container
with Container.load(sys.stdin) as cntr:
print(cntr.getvalue().decode())
_EOF_
Use the newly created scripts with keys from the local ssh-agent:
remote-machine ~ % echo "secret data" |python encryptor.py > hushhush.dat
remote-machine ~ % python decryptor.py < hushhush.dat
secret data
Or via the main guard of the package:
remote-machine ~ % echo "secret data" |python -magentcrypt.io enc > hushhush.dat
remote-machine ~ % python -magentcrypt.io dec < hushhush.dat
secret data
Motivation
Provide a convenient (passwordless) way of encrypting sensitive data for Python.
Profit from the fact that agent-forwarding makes SSH keys available on remote servers.
Alternatives
https://github.com/jwhitham/safeu - C (not sure if it uses the signature as keys too)
- Why another implementation?
The ones I found on GitHub are either not Python or they rely on calls to external programs. I wanted a pure Python library, that runs with Versions 2.7 and 3.x.
Documentation
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
File details
Details for the file agentcrypt-0.5.tar.gz
.
File metadata
- Download URL: agentcrypt-0.5.tar.gz
- Upload date:
- Size: 13.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.14.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.35.0 CPython/3.5.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e9000d95c169d71083112b0cd43b89345642c095d2ad03e0fa8ff7a9f27ff87f |
|
MD5 | 9b5a75783f3b772ee0fa537f891d2926 |
|
BLAKE2b-256 | 1cd1ee380716f59738af96ba1e13f53dbb27bdd89a1cd2bdbd6de46891b2d848 |
File details
Details for the file agentcrypt-0.5-py3-none-any.whl
.
File metadata
- Download URL: agentcrypt-0.5-py3-none-any.whl
- Upload date:
- Size: 15.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.14.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.35.0 CPython/3.5.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | abf06f2c77377b5aaadd38de845c5abd61241909d52dd02a5aae85bc953155c8 |
|
MD5 | da3b4501597bf0951cf2ed18213b72f7 |
|
BLAKE2b-256 | e68e679b31be0d21f05dfcd9e8d85858bb84b3512811abb383faaeba327fa11b |
File details
Details for the file agentcrypt-0.5-py2-none-any.whl
.
File metadata
- Download URL: agentcrypt-0.5-py2-none-any.whl
- Upload date:
- Size: 12.3 kB
- Tags: Python 2
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.14.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.35.0 CPython/3.5.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e6c4b53c3322ff799f9db0c832d8a3d805d23102f505e8b1f0508f7ad14a0354 |
|
MD5 | ce6d892280ccc2552067a70f2875bdbb |
|
BLAKE2b-256 | 679f6128ce6729049a3990ad78ff5d31ca40f36b52bdd04804b316f152dfc122 |