Skip to main content

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/pipx on 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 connect uses pexpect to drive the system ssh binary. On Windows it uses paramiko to connect directly — no external ssh binary needed.

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

revault_cli-1.0.0.tar.gz (5.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

revault_cli-1.0.0-py3-none-any.whl (5.7 kB view details)

Uploaded Python 3

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

Hashes for revault_cli-1.0.0.tar.gz
Algorithm Hash digest
SHA256 0e500b45f4bdaa698f12fb709969403374ee57998c24116a041e0f7ad6fc1da1
MD5 82ef4276289bc0d9030a3a35da7ff939
BLAKE2b-256 176167165d36f8bb59fc7787fb22a21cd4be800dd19f1662602528884a267f1f

See more details on using hashes here.

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

Hashes for revault_cli-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 03e99fe64c0c97f64941a454a11e554dcb6b2d2d2d24c1db7418843eafcdc2be
MD5 c84c8db62ffa486e5d086026e643142a
BLAKE2b-256 e4633fa93cd73dadff482e33604b3a428c66f1e3d8aae4dc10d6c91cfdec071d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page