CLI password manager for server credentials with SSH connector
Project description
Author was lost in a sea of server credentials, brain.exe could not handle so much info Wrote a password manager to store server credentails(Yes, ENCRYPTED) then thought why should I connect. so re-valut connect myserver :)
Install
macOS (Homebrew)
brew tap sufi-an/re-vault
brew install re-vault
Linux / macOS (pip / pipx)
# pipx keeps it isolated (recommended)
pipx install revault-cli
# or plain pip
pip install revault-cli
Then use re-vault instead of python cli.py:
re-vault add myserver
re-vault connect myserver
apt install: Not yet in official Debian/Ubuntu repos (that process takes months). Use
pip/pipxon Linux for now.
Windows .exe
Quick test (run on your Windows machine):
build.bat
dist\passkeeper.exe add myserver
Automated releases: push a version tag and GitHub Actions builds + attaches the exe to the release automatically.
git tag v1.0.0 && git push origin v1.0.0
How to use
Install
pip install -r requirements.txt
Commands
Each command prompts for your master password (it is never stored). The vault
lives at ~/.passkeeper/vault.json and is locked to your user account on both
Unix (chmod 0o600) and Windows (icacls).
| Command | What it does |
|---|---|
python cli.py add <identifier> |
Prompt for username + password and store them encrypted under <identifier>. |
python cli.py show <identifier> |
Decrypt and print the username + password. |
python cli.py list |
List all stored identifiers. |
python cli.py connect <identifier> |
Decrypt the entry and SSH in, auto-sending the password (works on Unix and Windows). |
python cli.py remove <identifier> |
Delete a stored entry permanently. |
Example
# Store credentials for a server (username should be the full SSH target, e.g. user@host)
$ python cli.py add myserver
Master password:
Username: deploy@198.51.100.10
Password:
Entry 'myserver' added successfully!
# Look them up later
$ python cli.py show myserver
Master password:
Username: deploy@198.51.100.10
Password: ...
# List everything you've stored
$ python cli.py list
Stored entries:
- myserver
# Connect over SSH without typing the password (Unix/macOS/Windows)
$ python cli.py connect myserver
Note: On Unix/macOS
connectusespexpectto drive the systemsshbinary. On Windows it usesparamikoto connect directly — no externalsshbinary needed.
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 Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file revault_cli-1.0.0.tar.gz.
File metadata
- Download URL: revault_cli-1.0.0.tar.gz
- Upload date:
- Size: 5.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0e500b45f4bdaa698f12fb709969403374ee57998c24116a041e0f7ad6fc1da1
|
|
| MD5 |
82ef4276289bc0d9030a3a35da7ff939
|
|
| BLAKE2b-256 |
176167165d36f8bb59fc7787fb22a21cd4be800dd19f1662602528884a267f1f
|
File details
Details for the file revault_cli-1.0.0-py3-none-any.whl.
File metadata
- Download URL: revault_cli-1.0.0-py3-none-any.whl
- Upload date:
- Size: 5.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
03e99fe64c0c97f64941a454a11e554dcb6b2d2d2d24c1db7418843eafcdc2be
|
|
| MD5 |
c84c8db62ffa486e5d086026e643142a
|
|
| BLAKE2b-256 |
e4633fa93cd73dadff482e33604b3a428c66f1e3d8aae4dc10d6c91cfdec071d
|