v0.9.4 New: an assistant can work a whole fleet, one careful stage at a time

Every SSH host
without the cloud.

A cross-platform credential manager and terminal. Your hosts, keys, and passwords live in one encrypted vault on your machine - never on a server, never in plaintext.

Local-first No telemetry AES-256-GCM Auditable code
Kino SSH Manager
root@prod-web-01 host key verified
vault unlocked
~ $ connect prod-web-01
- tunnel localhost:5432 - db:5432 up
- snippet "system status" auto-run
root@prod-web-01:~# uptime
15:42:09 up 84 days, load 0.07 0.04 0.01
root@prod-web-01:~#
Download

Free, and yours to keep.

Signed builds, with a signed checksum list and a GitHub build attestation beside them.

Linux

x86-64

Windows

x86-64

macOS

not built yet

Every release also carries the per-file signatures and SHA256SUMS - how to check them. Older versions are on the releases page.

Features

One app for every connection.

The parts worth knowing about. Snippets, jump hosts, SFTP, cron, metrics, session recording, themes and the rest are in there too - the full list is on GitHub.

Fleet update check

Asks every host what packages it has waiting and which are security updates, and sorts the fleet by what matters. The answer comes from each host's own package manager - apt, dnf, zypper, apk or pacman - never a third-party vulnerability feed. Apply opens a terminal with the upgrade ready rather than running it for you.

MCP server New

Expose chosen hosts to an AI assistant over the Model Context Protocol. A newly ticked host is read-only. Anything no rule covers stops and asks you, with the command on screen and a countdown. Every call is recorded - the refusals too - and one switch stops the lot. It can ask a whole group of hosts at once and get one summary back rather than fifty replies, and change them only as a rollout: one host first, a health check, then batches, stopping itself if too much fails. Production is left out unless you put it in, and the previous version of every file it writes is kept on the host. The assistant never sees the rest of your vault, and the headless binary never gets your master password.

Production guard

Mark a host production and its terminal gets a frame and a label. A dangerous command pressed there opens a confirmation naming the host in large type, and it won't dismiss for five seconds. Long pastes are held for a look; broadcast input skips production entirely.

Transport audit

Asks each host what cryptography it would actually use - exchanging banners, reading its algorithm lists, never logging in - and grades the fleet weakest-first. OpenSSH 9.9+ warns when it can't negotiate a post-quantum key exchange; this finds which hosts are responsible. Exports as CSV or JSON.

On-disk key sweep

Finds the private keys lying around in ~/.ssh, ranked by exposure - no passphrase is critical, world-readable is high. Move one into the vault and off the filesystem in two deliberate steps, and write it back out when the command line needs it. Never decrypts anything.

Key audit & rotation

Checks every stored key for weak algorithms, reuse across hosts and age - entirely on your machine. One click rotates a host to a fresh ed25519 key: install, prove it authenticates on a second connection, then remove the old one.

Encrypted vault

Argon2 key derivation and AES-256-GCM. One master password unlocks every host, key, and snippet. Sync it to a private GitHub repo or to a folder in your Documents that OneDrive, iCloud Drive, Dropbox or Syncthing already carries - either way only the ciphertext leaves the machine, and a new computer needs your master password and nothing else.

SSH terminal

A full xterm.js terminal per host, with split panes, broadcast input, adjustable font size, and scrollback configurable up to 200,000 lines.

Port forwarding

Local (-L), remote (-R) and dynamic SOCKS5 (-D) tunnels, started and stopped per session - each drawn as a diagram showing which end opens the port and which way traffic flows.

Docker management

List and control containers, images, volumes and networks over the SSH connection - with live log streaming and one-click container shells.

Agent mode

Optionally reach hosts with no inbound port - behind NAT, CGNAT or a firewall - through a relay. The agent dials out; nothing is exposed. Use Kino Cloud's relays or run your own. Off by default.

Archaeology

Pulls the shell history of the account you connect as into an encrypted archive per host. It accumulates - the commands HISTSIZE has already trimmed off the server survive here. Never part of an exported profile.

Security model

Built so secrets stay yours.

  • Local-first by default. The vault is an AES-256-GCM ciphertext on your disk. Plaintext never touches a server.
  • Argon2-derived key. Your master password plus a random 16-byte salt derive the key. Nothing is stored in the clear.
  • Zero-knowledge sync. Cloud sync uploads only the encrypted blob - GitHub never sees your secrets or master password.
  • Least privilege for assistants. A host exposed over MCP is read-only until you say otherwise, and enforcement lives in the headless binary itself - a refused call never opens a connection. Prompts to the AI provider are redacted in Rust at the command boundary, not in the UI that assembles them.
  • Secrets stay out of shared profiles. Notes and harvested shell history live in their own encrypted blobs beside the vault, never on a host record - which is what an exported profile serialises. Sharing a host never ships a command line you typed a password into.
  • Rotation that can't strand you. A new key is proved on its own connection before the old one is removed, and the rewrite of authorized_keys is refused if the new key isn't in the result. The audit itself contacts nothing.
  • Memory hygiene. Secrets are zeroized on lock; idle auto-lock and master-password re-keying are built in.
  • Encrypted sharing. Exported host profiles are sealed with their own password - a separate Argon2 key, never your master password - so a profile can be handed to a teammate safely.
  • Relays are blind. Agent mode keeps SSH end-to-end encrypted; a relay forwards ciphertext and cannot read a session even if you don't run it yourself.
  • Cloud without custody. Kino Cloud brokers connections, not credentials: your account key is encrypted under the vault key and dropped from memory on lock, connection tokens are short-lived and fetched per session, and they travel as headers - never in a URL that a proxy log could keep.
Cryptographic details
vault encryptionAES-256-GCM
key derivationArgon2
salt16 bytes · random
host keysTOFU · SHA256
generated keysed25519
key auditlocal only
memory on lockzeroized
sync payloadciphertext only
profile exportAES-256-GCM
relay transportTLS · wss://
cloud account keyvault-encrypted
connection tokensshort-lived · per session
Under the hood

Native, fast, and small.

A Rust backend behind a React interface, packaged as a lightweight Tauri 2 desktop app.

Rust Tauri 2 russh · SSH/SFTP aes-gcm + argon2 React 19 + TypeScript Vite + Zustand xterm.js

Your hosts, everywhere.

Free and open source under the GPL-3.0 license. Download a build, or compile it yourself in minutes.