Skip to content
kaiport

Import and export

Take over connections from OpenSSH, FileZilla, Cyberduck, WinSCP, PuTTY or a kaiport export with the import wizard, and export your connections as JSON.

The import wizard takes over connections from other programs: your OpenSSH configuration, FileZilla, Cyberduck, WinSCP, PuTTY and files exported from kaiport. You choose the sources and the individual connections, and kaiport recognizes the ones you already have. The export saves your connections to a JSON file – without passwords or keys. kaiport for iPhone and iPad reads the same file, so the export is also how you bring connections to your phone.

Open the import wizard

  • On first start: if you have no saved connections yet and kaiport finds something to import – for example a ~/.ssh/config – it opens the wizard by itself. This happens only once.
  • In the start window: open the … menu next to New connection and choose Import …. As long as the list is empty, the welcome also has an Import … button.
  • In the settings: Settings → Import, next to Import connections … click Import ….

The wizard has three steps: Sources, Selection and Done.

Step 1: Sources

The first step lists the sources available on your system, each with the path kaiport reads and a status:

StatusMeaning
foundkaiport can read the list. The source is already ticked.
not foundNothing at the usual place. Click Choose file … or Choose folder … to point kaiport to it.
no accessThe file exists, but the system blocks access, for example macOS privacy protection for another app's folder. Choose the file or folder in the dialog to allow access.

Tick the sources you want and click Next. Later closes the wizard.

The Sources step
The Sources step of the import wizard: OpenSSH config, FileZilla Site Manager and PuTTY sessions found, no kaiport exportThe Sources step of the import wizard: OpenSSH config, FileZilla Site Manager and PuTTY sessions found, no kaiport export

The Sources step

Where kaiport looks

SourcemacOSWindowsLinux
OpenSSH config (~/.ssh/config)~/.ssh/config%USERPROFILE%\.ssh\config~/.ssh/config
FileZilla Site Manager~/.config/filezilla/sitemanager.xml%APPDATA%\FileZilla\sitemanager.xml~/.config/filezilla/sitemanager.xml
Cyberduck bookmarksThe Bookmarks folder of Cyberduck, see below––
WinSCP sessions–%APPDATA%\WinSCP.ini–
PuTTY sessions–Not found automatically, see below~/.putty/sessions (a folder)
kaiport export (JSON)Choose the fileChoose the fileChoose the file
  • Cyberduck is only offered on macOS. kaiport looks in ~/Library/Group Containers/G69SCX94XU.duck/Library/Application Support/duck/Bookmarks and in ~/Library/Application Support/Cyberduck/Bookmarks and reads every .duck file there.
  • WinSCP keeps its sessions either in WinSCP.ini or in the Windows registry. kaiport reads the INI file. If your sessions are in the registry, export the WinSCP configuration to an INI file and choose it with Choose file ….
  • PuTTY keeps its sessions in the registry on Windows, which kaiport doesn't read. You can choose a folder with PuTTY session files instead – one file per session, named after the session, as PuTTY stores them on Linux.

The Mac App Store version doesn't look in these places by itself. Choose ~/.ssh/config and the files of FileZilla, WinSCP, PuTTY or Cyberduck with Choose file … or Choose folder …; see The Mac App Store version.

Step 2: Selection

kaiport reads the chosen sources and lists what it found, grouped by source. Each entry shows the name, the address and the type, for example SSH or FTP / FTPS.

The Selection step
The Selection step of the import wizard with connections from several sourcesThe Selection step of the import wizard with connections from several sources

The Selection step

  1. Tick the connections you want. New connections are already ticked.
  2. Select all ticks every connection that doesn't exist yet; None clears the selection.
  3. Click Import 12 (the button shows the number) – or Back to change the sources.

Entries you already have are marked Already exists or Already exists as “Name” and can't be ticked. If a source couldn't be read, a note lists it with the reason, for example “Access denied. Pick the file or folder in the dialog to allow access.” If nothing was found at all, the step says so.

How kaiport recognizes duplicates

TypeCounts as the same connection when
SSH, FTP / FTPSType, host, port and user name match.
S3 storage, Azure BlobEndpoint, bucket or container, and access key ID or storage account match.
WebDAVServer URL and user name match.

What is taken over

SourceWhat kaiport takes over
OpenSSH configEach Host entry without wildcards becomes an SSH connection named after the alias, with HostName, Port, User, the first IdentityFile (then SSH key, otherwise SSH agent), ForwardAgent and ProxyJump. Values from Host * act as defaults. Match and Include are ignored.
FileZillaSFTP (as SSH), FTP, FTPS explicit and implicit, S3, WebDAV and Azure sites with name, host, port, user, password, remote and local directory, and the comments as notes.
CyberduckSFTP (as SSH), FTP, FTPS, WebDAV, S3 (including Google Cloud Storage and Backblaze B2 bookmarks) and Azure, without passwords.
WinSCPSFTP and SCP sessions (as SSH, with the key file if one is set), FTP and FTPS, WebDAV and S3, without passwords.
PuTTYSSH sessions with host, port, user and key file. Other kinds such as serial or Telnet are skipped.
kaiport exportEverything the file contains, see Export connections.

Every imported connection gets a tag named after its source – ssh-config, filezilla, cyberduck, winscp or putty – so you can find the new connections through the sidebar.

Passwords and keys

The wizard shows a note: passwords from FileZilla are taken over; Cyberduck, WinSCP and PuTTY store theirs encrypted, so kaiport can't read them. After the import:

  • SSH connections without a key use SSH agent. If you log in with a password, open the connection with Edit, choose Password and enter it – or leave the field empty so that kaiport asks when connecting.
  • FTP, S3, WebDAV and Azure connections need their password or key in the connection dialog, because kaiport doesn't ask for them when connecting.
  • Key files from IdentityFile, WinSCP or PuTTY are referenced by their path and read when you connect. To keep the key in kaiport's encrypted vault, click Choose in the connection dialog, see SSH key.

Jump hosts from ~/.ssh/config

When a host in ~/.ssh/config has a ProxyJump, kaiport links the new connection to its jump host after the import. It looks for a saved connection whose name or user@host matches the ProxyJump value – usually another Host alias from the same file. Import the jump host in the same run, or have it saved already. A ProxyJump with several hops, or one that matches no connection, is not linked; set the jump host in the Advanced tab instead.

Step 3: Done

The last step shows the result, for example “12 imported, 1 skipped.” Skipped are entries that turned out to be duplicates during the import, such as the same server from two sources. If you started the import from the connection list, the result also appears above the list. Click Close.

Export connections

  1. In the start window, open the … menu next to New connection and choose Export.
  2. Choose where to save the file. kaiport suggests a name like kaiport-connections-2026-09-25.json.

The file contains all your connections:

json
{
  "version": 1,
  "connections": [
    {
      "type": "ssh",
      "name": "web-01",
      "host": "web-01.example.com",
      "port": 22,
      "username": "deploy",
      "auth": "key",
      "privateKeyPath": "/Users/anna/.ssh/id_ed25519",
      "color": "#6c8cff",
      "tags": ["prod", "web"],
      "group": "Customers"
    }
  ]
}
In the fileNot in the file
Type, name, host, port, user name and login methodPasswords and passphrases
Path of the key filePrivate keys, S3 secret access keys and Azure access keys
Color, tags, group, favorite and notesThe jump host setting
Command after connecting, AI instructions and the lists of denied and allowed commandsWhen you last connected
Agent forwarding and port forwards
FTP, S3, WebDAV and Azure settings and start directories

Import a kaiport export

  1. Open the import wizard.
  2. At kaiport export (JSON), click Choose file … and select the file.
  3. Click Next, pick the connections and click Import.

Because the file has no credentials, enter passwords and keys again after the import, and set the jump hosts in the Advanced tab.