Harden SSH with oryxis: Rust Terminal Emulator and Encrypted Vault

SSH is the duct tape of remote infrastructure. Every serious self-hosted setup, every red-team engagement, every cloud instance starts with a terminal connection. Yet most operators still rely on bloated, unencrypted credential stores and single-purpose SSH clients that haven’t been updated since 2019. oryxis changes that. It’s a Rust SSH client and terminal emulator built from the ground up with an encrypted vault, SFTP support, port forwarding, cloud discovery, and P2P sync. It runs on Windows, macOS, and Linux. Here’s how to set it up and make it work for you.

Step 1 – Install oryxis from the latest release

Head to the oryxis releases page on its repository and grab the binary for your platform. It’s a single statically linked executable — no dependencies, no package manager drama. On Linux, download the tarball, extract it, and move the binary to a directory in your PATH. I keep mine in ~/.local/bin so it stays out of system paths and survives package manager updates. The build is pure Rust, so startup time is instant and memory usage is negligible. On macOS, you can use Homebrew if a tap exists; on Windows, drop the .exe somewhere in your PATH and you’re done. Verify the binary works by running oryxis –version in a terminal. If you get a version string back, you’re good. If not, check that your PATH actually includes the directory where you placed the binary — this catches 90% of first-run issues.

Step 2 – Initialize the encrypted vault for credential storage

The encrypted vault is oryxis’s killer feature. SSH keys and passwords stored in plaintext on disk are a liability you can’t afford, especially on shared or compromised machines. On first launch, oryxis prompts you to create a vault. Choose a strong passphrase — this is the only thing standing between an attacker and every host you’ve ever connected to. The vault encrypts credentials at rest using a modern cipher, and decryption happens in memory only when you need them. You can add, update, and delete entries from the vault interface. Each entry stores a hostname, username, optional private key path, and an optional password. The vault auto-locks after a configurable timeout, so walking away from your desk doesn’t leave credentials exposed. This alone makes oryxis worth adopting over any SSH client that stores keys in config files without encryption.

Step 3 – Configure SSH hosts with port forwarding rules

Once the vault is set up, add your SSH hosts. Each host entry maps to a vault credential and lets you define connection parameters: hostname, port, user, and identity file. Port forwarding is where oryxis shines for infrastructure work. You can define local and remote forward rules per host — useful for tunneling database ports, exposing internal services, or routing traffic through a jump box. For example, if you’re managing a Redis instance on a private network behind a bastion host, set up a local forward from your machine’s 6379 port through the bastion to the Redis host’s 6379 port. oryxis handles the entire chain without requiring separate SSH tunnel commands in separate terminal windows. This is the kind of workflow automation that saves hours over a week of daily infrastructure work.

Step 4 – Manage files with SFTP and cloud discovery

oryxis includes built-in SFTP support, so you don’t need a separate file transfer tool for routine edits on remote servers. Connect to any host in your vault, open an SFTP session, and browse the remote filesystem in a split pane. Drag-and-drop files, edit remote configs, and sync directories without leaving the terminal. The cloud discovery feature goes further — it can scan your network for SSH-enabled machines and automatically populate your host list. This is invaluable when onboarding to a new environment or auditing what’s exposed on a network. Run a discovery scan on a subnet, review the discovered hosts, and selectively add the ones you need to the vault. It’s a fast way to build a complete inventory of your infrastructure’s SSH surface.

Step 5 – Enable P2P sync for team coordination

The P2P sync feature lets multiple oryxis instances share vault updates and connection metadata without a central server. In a red-team or small DevOps team, this means credential rotation and new host additions propagate instantly to every team member’s machine. Set up a sync group by exchanging public keys or a shared secret — no cloud service required, no third-party dependency. Sync is encrypted end-to-end, so even the relay nodes can’t read your credentials. This is a significant upgrade over shared SSH config files checked into a git repo, which expose private keys and host details to anyone with repository access. P2P sync keeps credentials local and encrypted while still enabling team-wide consistency. For teams doing incident response or infrastructure management across multiple environments, this eliminates the single point of failure that a centralized config server represents.

Next steps

Once oryxis is running, integrate it into your daily workflow by migrating all existing SSH connections from your old client. Delete the plaintext SSH config entries and move those credentials into the encrypted vault. Set up P2P sync with your team if you’re working in a group. Explore the port forwarding rules for your most-used jump boxes and tunnels — automating those connections saves real time. Finally, consider contributing to the project or filing issues for features you need. oryxis is young and the Rust codebase is welcoming to contributors who understand SSH protocol internals.

Press Cmd K to search