Skip to content

tiangong-dev/onessh

Repository files navigation

onessh

中文

Documentation: https://tiangong-dev.github.io/onessh/ (English · 简体中文)

OneSSH is a CLI SSH manager built around a single master password. Hosts, credentials, and config are encrypted at rest (Argon2id + AES-256-GCM); you unlock once, then connect, run commands, and copy files without retyping secrets. The data directory is safe to push to a public Git repository — only ENC[...] ciphertext is stored; use a strong master password (12+ characters, mixed case, digits, symbols).

Full user guide: command tables, configuration, architecture, and security are covered in the documentation site. This README keeps build/install/release and a minimal quick start; for long examples (batch ops, hooks, store layout), see the docs or the historical sections still in README.zh-CN if needed.

Quick start

onessh init
onessh add web1
onessh ls
onessh web1

Build

make build

Release-style build (version ldflags):

make build-release VERSION=v0.0.0

Test

make test          # includes e2e
make test-short    # skips e2e
make test-e2e      # e2e only

Install (Homebrew)

brew tap tiangong-dev/onessh https://github.com/tiangong-dev/onessh
brew install tiangong-dev/onessh/onessh

Design references (source)

Automated release

Push a tag v* (e.g. v0.2.0) to build binaries, create a GitHub Release, and update the Homebrew formula. Before the first release, set Actions → Workflow permissions to Read and write.

git tag v0.2.0
git push origin v0.2.0

About

Encrypted SSH host manager with one master password. AES-256-GCM + Argon2id — data is git-safe, even for public repos

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages