Skip to main content

Migration and import

Moving hosts, keys and known-hosts entries in from other tools, and what each source can and cannot give you.

What can be imported today

Implemented and tested: the encrypted .otvault portable format, OpenSSH client configuration, OpenSSH known_hosts, Open Terminal JSON, a host-list CSV, PuTTY sessions exported as a .reg file, and PuTTY .ppk private keys.

Declared but not implemented: SecureCRT, MobaXterm and Termius. Each carries a recorded reason rather than being quietly dropped from the list.

How an import behaves

An import runs as a pipeline: detect the format, parse it under strict size and structure bounds, validate, decrypt if the source is encrypted, preview what will change, map it onto your data, apply transactionally, and produce a report.

A dry run tells you exactly what would happen before anything is written. Duplicate handling is explicit, cancellation is supported, and the report never silently discards a record — anything that could not be imported is listed with the reason.

Coming from Termius

Termius publishes import workflows into its own product; there is no documented export interface covering everything an account holds. Reaching into private endpoints or its encrypted vault is out of the question, so only files a user can legitimately obtain are supported.

The practical path is to export whatever Termius does offer and import that file here, or to rebuild hosts from an OpenSSH configuration or a CSV host list. Both are supported adapters.

Source documents

This page summarises the files below. Read them for the full, authoritative text.

  • docs/formats/OTVAULT_FORMAT.md

    Repository path
  • packages/import-export/src/adapters/index.ts

    Repository path