Documentation
Termiyo, end to end
Short pages, in the order you will need them.
Getting started
Install Termiyo
Take the download for your computer from the download page — the Universal .dmg on a Mac, the installer on Windows, your distribution’s package on Linux. The download page shows how to check it and how to install it on each system.
Create your vault
The first time you open Termiyo it asks for a master password. This is the only thing protecting everything the app stores, it is never sent anywhere, and there is no recovery — use a passphrase of several unrelated words.
Add an identity
An identity is a username plus how to authenticate: a password, a private key, or an agent. Identities are separate from hosts so the same login works across a fleet without being retyped.
Add a host
Give it an address and pick an identity. Double-click it to connect. The first connection shows the server’s key fingerprint; accepting it pins the key for every reconnect after.
Jump hosts
Reaching a private host
Open the host, expand Advanced, and pick a jump host. Termiyo connects to the bastion first and opens a channel through it to the target — the target never needs to be reachable from your machine.
Chains
A jump host can have a jump host of its own. Termiyo flattens the whole path before it dials, refuses a chain that loops, and names the hop that failed when one does.
Port forwarding
Local
Listen on your machine, deliver on the server’s side. The usual case is reaching a database that only binds to localhost on the host.
Remote
The reverse: the server listens, and connections come back to a port on your machine. Useful for showing a local build to something that can only reach the server.
Dynamic (SOCKS5)
Termiyo runs a SOCKS5 proxy locally and sends every connection out through the session, with the destination resolved on the far end. Point a browser at it and you are browsing from the server.
Sync
Signing in
Settings, Sync. Use the password that already unlocks your vault — Termiyo derives two separate keys from it, one that stays here and one the server can check without ever learning the password.
A second machine
Install Termiyo, create a vault with the same password, and sign in. Your hosts, keys and snippets arrive on the first sync. Nothing is decrypted anywhere but on your own machines.
Signing out
Removes the token, not your data. What is on the machine stays on it, still encrypted under your vault password.
Asking for a command
Setting it up
Settings, AI, and an Anthropic API key. The key is stored in your vault, encrypted like every other credential.
Asking
Describe what you want. The suggestion lands on your command line for you to read; Termiyo never runs one for you. Anything that deletes, overwrites or stops a service is labelled.
What is sent
Your question, and the operating system if the login banner stated it. Recent commands are sent only if you turn that on. Hostnames, usernames, passwords and keys are never sent.
Telnet and serial
Serial consoles
Pick Serial when adding a host and Termiyo lists the ports it can see. 8-N-1 at 9600 is what most console ports use; a wrong speed does not error, it produces garbage, so check that first if the output looks wrong.
Sending a break
The break signal is how you interrupt a hung bootloader or drop a device into its recovery monitor. There is no other way to produce it from a terminal.
Telnet
Supported because network equipment often speaks nothing else. It is unencrypted — everything, including a password, travels in the clear. Use it on a management network, not across the internet.
Importing from another SSH client
Import from the client you already haveLook on this computer
The import menu is the cloud button above the host list, and its first entry is “Look on this computer”. Termiyo goes to the places the tools you already have keep their servers — ssh_config, known_hosts, PuTTY, FileZilla, WinSCP, MobaXterm, the JetBrains IDEs, Remmina, Tabby, SecureCRT, Cyberduck and the iTerm2 profiles that are really ssh commands — and lists what it found, with a count, rather than asking you to go and find a file.
What comes across
Names, addresses, ports, usernames, jump hosts and port forwards. Saved passwords too, from FileZilla, WinSCP, JuiceSSH and Remmina, into the vault where they are encrypted at rest. JetBrains and Cyberduck keep theirs in the OS keychain, MobaXterm under DPAPI and SecureCRT behind its own passphrase — those hosts still arrive, and ask once on the first connect. Anything that could not be mapped is listed with the reason rather than dropped quietly.
Termius, JuiceSSH and PuTTY need a file
Termius encrypts what it keeps on the machine field by field, so there is nothing there to read, and it removed its own export — the file has to come from a community exporter you run yourself; Termiyo reads its JSON and CSV, keys included. JuiceSSH is a phone app, so copy its backup over. PuTTY on Windows keeps sessions in the registry, so export them with regedit first; on macOS and Linux ~/.putty/sessions is read in place. Put any of these in Downloads and Termiyo offers it by name when you come back.
Nothing is written until you have read it
The preview says what would be created, what you already have, and what could not be brought across, before anything touches the vault. Importing the same file again updates the hosts you already have rather than adding a second copy.
SSH certificates
Paste the certificate
Open Settings, SSH keys, pick the key and paste the -cert.pub line your certificate authority signed into Certificate. Termiyo shows whom it lets in, until when and any command it forces, and the key list shows when it runs out. It refuses a host certificate before it is saved, and one signed for another key whenever it can tell which key this is — always for a key it holds, and for a key in your agent once you have given its public half.
Certificates in your agent
A certificate your SSH agent holds is offered on its own; there is nothing to paste. Termiyo asks the agent what it holds before it connects.
Imports bring them along
Importing an ssh_config brings each key’s CertificateFile and the -cert.pub beside it, and so does choosing a key file. A certificate that was signed for another key, is a host certificate or has expired is not attached, and the preview says why. A certificate for a key you already have is added only if you tick the box that says so.
Mosh too
A Mosh host logs in with your certificate the way an SSH host does. If the certificate forces a command, the host runs that instead of mosh-server and Mosh cannot start; Termiyo names that as the likely cause. Security-key certificates are left out of a Mosh login, because it cannot wait for a touch — use SSH for those.
Importing from AWS
What it needs
An access key with ec2:DescribeInstances, and nothing else. The credentials are used for that one call and are not stored.
What you get
Every running instance in the regions you pick, including the ones with no public address — those are the ones you reach through a bastion. Tick what you want.
Running it again
Re-importing updates the hosts you already have rather than adding a second copy, and leaves the identity you gave them alone.
Snippets
Saving a command
Snippets are commands you keep, grouped into folders. Running one types it into the terminal in front of you.
Values in a snippet
Write ${name} where a value goes, and choose in the editor how each one is filled: Ask each time (with a default answer or a list of allowed answers), Fill from the host (its address, port or login name), or Leave to the shell, for a value the shell already has, such as ${PATH}. A snippet never runs with a value missing: Run snippet stays off until each one has an answer. The desktop app offers your last answers next time; a secret is never kept.
Link to a server
Copy a link
On the Servers page, open a server’s menu and choose Copy link. The server’s own page and the host editor have the same action, and the command palette finds it when you type “copy link”. The link looks like termiyo://connect/prod-db. It names the server and carries no address, login or password.
What a click does
The desktop app comes forward and asks before it connects, showing the address that name points to on that computer. A link only opens a server already saved under that name; otherwise Termiyo says so and opens nothing. If the vault is locked, the link waits up to five minutes for you to unlock it.
Two servers with one name
The desktop app lists them with their login, address and vault and asks which one you meant; Cancel opens nothing. If nothing tells them apart, it says so and opens nothing. The phone app does not ask: there, a name two servers share opens nothing.
Linux AppImage
An AppImage is not registered with the system, so links do nothing until you set them up once: Settings, Help, Command line, termiyo:// links, Set up. The .deb and .rpm packages and macOS need no setup; on Windows, links work once Termiyo has been opened.
Without a clickable link
Some apps do not turn termiyo:// into a link. Run termiyo ssh prod-db in a terminal instead; Settings, Help installs the command on macOS and on the Linux packages.