Encrypted key-value store over SSH.
Caution
This is an experimental work in progress. DO NOT use to store sensitive data.
SSH (Secure Shell) is a cryptographic network protocol for secure communication between computers over an unsecured network that uses keys for secure authentication. If you've ever ssh
'd into a remote machine or used CLI tools like git
then you've used SSH.
syringe.sh uses SSH as the protocol for communication between the client (your machine) and the server (in the cloud).
Your public key is uploaded to the server. Your private key is then used to authenticate when you connect.
Data is encrypted locally using your private key before being sent to the server and stored in a separate database tied to your public key.
Data can only be decrypted locally using your private key. Without your private key, nobody can decrypt and read your data.
ββββββββββββββββββββββββββββββββββ
β STDIN β
β syringe secret set SKEY s3cr3t β
βββββββ¬βββββββββββββββββββββββββββ
β
βββββΌβββββββββββββββββ βββββββββββββββββββ
β βββββββββββββββ Encrypted ββββββββββ β
β CLI β π Encrypt βββββββββββββββββββββββββββΊβ Store β Server β
β βββββββββββββββ SSH ββββββ¬ββββ β
ββββββββββββββββββββββ βββββββββββββββββββ
ββββββΌβββββ
β User DB ββ K: SKEY
ββ¬ββββββββββ V: <encrypted>
βββββββββββ
βββββββββββββββββββββββββββ
β STDIN β
β syringe secret get SKEY β
βββββββ¬ββββββββββββββββββββ
β
βββββΌβββββββββββββββββ βββββββββββββββββββ
β βββββββββββββββ Encrypted ββββββββββ β
β CLI β ποΈ Decrypt ββββββββββββββββββββββββββββ Store β Server β
β ββββββ¬βββββββββ SSH ββββββββββ β
ββββββββββββββββββββββ ββββββ²βββββββββββββ
ββββββΌββββββ βββββββββββ
β STDOUT β β User DB ββ K: SKEY
β s3cr3t β ββ¬ββββββββββ V: <encrypted>
ββββββββββββ βββββββββββ
The following key types are supported for the syringe client.
- RSA