Skip to main content

Import & Export Overview

Xermius makes it easy to migrate from other SSH clients and backup your host configurations with comprehensive import/export functionality.

Why Import/Export?

Import Benefits

Quick Migration - Switch from other SSH clients in minutes
No Manual Entry - Import hundreds of hosts at once
Preserve Settings - Keep your existing configurations
Multiple Formats - Support for popular SSH clients

Export Benefits

Backup - Create regular backups of your hosts
Share - Share configurations with team members
Multiple Devices - Move configs between computers
Version Control - Track changes with Git

Supported Import Formats

Xermius can import from these formats. Click on each for detailed guide:

1. SSH Config Files

  • Format: OpenSSH configuration files
  • Location: ~/.ssh/config
  • Use Case: Linux/macOS users with existing SSH configs
  • 📖 Complete SSH Config Guide

2. CSV & JSON Files

  • Format: Comma-separated values or JSON arrays
  • Use Case: Bulk imports, spreadsheet management, backups
  • Columns: name, host, port, username, password, sshKeyId, group
  • 📖 Complete CSV & JSON Guide
  • Format: Termius sharing URL format
  • Use Case: Quick import from Termius app
  • Best for: Mobile to desktop migration
  • 📖 Complete Guide

4. PuTTY Sessions

  • Format: Windows Registry export (.reg)
  • Source: PuTTY SSH client (Windows)
  • Use Case: Migrating from PuTTY on Windows
  • Includes: PPK key conversion guide
  • 📖 Complete Guide

5. MobaXterm Bookmarks

  • Format: INI configuration file (MobaXterm.ini)
  • Source: MobaXterm installation folder
  • Use Case: Migrating from MobaXterm
  • Special: SubRep folders → Groups (preserves folder structure!)
  • 📖 Complete Guide

6. SecureCRT Sessions

  • Format: INI session files (.ini)
  • Source: SecureCRT session folder
  • Use Case: Enterprise migration from SecureCRT
  • Special: Description field → Groups
  • 📖 Complete Guide

Supported Export Formats

Export your hosts to:

1. SSH Config Format

Best for:

  • Using with OpenSSH command line
  • Linux/macOS terminal users
  • Native SSH client compatibility

Output:

Host production-server
HostName 192.168.1.100
Port 22
User admin
IdentityFile ~/.ssh/id_rsa

Host dev-server
HostName 192.168.1.101
Port 2222
User developer

2. CSV Format

Best for:

  • Excel/Google Sheets editing
  • Bulk operations
  • Non-technical users
  • Reporting

Output:

name,host,port,username,password,sshKeyId,group
Production Server,192.168.1.100,22,admin,,,Production
Dev Server,192.168.1.101,2222,developer,,,Development
Staging Server,staging.example.com,22,ubuntu,,,Staging

Note: sshKeyId refers to keychain SSH key IDs, not file paths

3. JSON Format

Best for:

  • Backups
  • Version control (Git)
  • Programmatic access
  • Automation scripts

Output:

[
{
"name": "Production Server",
"host": "192.168.1.100",
"port": 22,
"username": "admin",
"password": "",
"sshKeyId": "key-abc-123",
"group": "Production"
},
{
"name": "Dev Server",
"host": "192.168.1.101",
"port": 22,
"username": "developer",
"password": "dev_pass",
"sshKeyId": null,
"group": "Development"
}
]

Note: sshKeyId refers to keychain SSH key IDs, not file paths

Accessing Import/Export

From Dashboard

Click the "NEW HOST" dropdown button:

┌─────────────────────────┐
│ ▼ NEW HOST │
├─────────────────────────┤
│ Create New Host │
│ ───────────────────────│
│ Import Hosts 📥 │
│ Export Hosts 📤 │
└─────────────────────────┘

From Menu Bar

File Menu:

  • File → Import Hosts
  • File → Export Hosts

Keyboard Shortcuts:

  • Import: Ctrl/Cmd + I
  • Export: Ctrl/Cmd + E

Import Process

Step 1: Open Import Dialog

  1. Click "NEW HOST" dropdown
  2. Select "Import Hosts"
  3. Import dialog opens

Step 2: Choose Format

┌──────────────────────────────────────────────┐
│ Import Hosts [X] │
├──────────────────────────────────────────────┤
│ [SSH Config] [CSV] [JSON] [PuTTY] [More ▼] │
├──────────────────────────────────────────────┤
│ │
│ Drop file here or click to browse │
│ │
│ Supported: .config, .txt │
│ Max size: 10 MB │
│ │
├──────────────────────────────────────────────┤
│ Format Information: │
│ │
│ SSH Config files contain Host entries │
│ with connection details. Typically found │
│ at ~/.ssh/config │
│ │
│ Example: │
│ Host myserver │
│ HostName 192.168.1.100 │
│ Port 22 │
│ User admin │
│ │
│ [Browse File...] │
└──────────────────────────────────────────────┘

Step 3: Select File

Drag & Drop:

  • Drag file to import area
  • Or click "Browse File"
  • Select file from your computer

File Validation:

  • Format is checked automatically
  • File size must be < 10 MB
  • Invalid files show error message

Step 4: Preview Imports

┌──────────────────────────────────────────────┐
│ Import Preview [X] │
├──────────────────────────────────────────────┤
│ Found 25 hosts in file │
│ │
│ ┌────────────────────────────────────────┐ │
│ │ ✓ Production Web Server │ │
│ │ admin@192.168.1.100:22 │ │
│ │ Group: Production │ │
│ │ │ │
│ │ ✓ Database Server │ │
│ │ root@192.168.1.101:3306 │ │
│ │ Group: Production/Databases │ │
│ │ │ │
│ │ ✓ Dev Server │ │
│ │ developer@dev.example.com:22 │ │
│ │ Group: Development │ │
│ │ │ │
│ │ ... 22 more │ │
│ └────────────────────────────────────────┘ │
│ │
│ Options: │
│ [✓] Create groups from structure │
│ [✓] Skip duplicates │
│ [ ] Overwrite existing hosts │
│ │
│ [Cancel] [Import] │
└──────────────────────────────────────────────┘

Review Items:

  • Host name and details
  • Connection information
  • Group assignments
  • Potential duplicates

Step 5: Confirm Import

  1. Review preview
  2. Select import options
  3. Click "Import"
  4. Hosts are added to dashboard

Success Message:

✓ Successfully imported 25 hosts
- 20 new hosts added
- 5 duplicates skipped

Export Process

Step 1: Open Export Dialog

  1. Click "NEW HOST" dropdown
  2. Select "Export Hosts"
  3. Export dialog opens

Step 2: Choose Format

┌──────────────────────────────────────────────┐
│ Export Hosts [X] │
├──────────────────────────────────────────────┤
│ Select export format: │
│ │
│ [●] SSH Config │
│ Standard OpenSSH configuration format │
│ Compatible with: ssh, scp, sftp │
│ │
│ [ ] CSV │
│ Comma-separated values │
│ Compatible with: Excel, Google Sheets │
│ │
│ [ ] JSON │
│ JavaScript Object Notation │
│ Compatible with: Scripts, APIs │
│ │
├──────────────────────────────────────────────┤
│ Options: │
│ [✓] Include passwords (encrypted) │
│ [✓] Include SSH keys paths │
│ [✓] Include groups │
│ [✓] Include tags │
│ │
│ Export: [●] All hosts [ ] Selected only │
│ │
│ [Copy to Clipboard] [Download File] │
└──────────────────────────────────────────────┘

Step 3: Preview Export

Preview Area:

┌──────────────────────────────────────────────┐
│ Preview (SSH Config format) │
├──────────────────────────────────────────────┤
│ # Xermius SSH Config Export │
│ # Generated: 2024-10-17 14:30:00 │
│ # Total hosts: 25 │
│ │
│ Host production-server │
│ HostName 192.168.1.100 │
│ Port 22 │
│ User admin │
│ IdentityFile ~/.ssh/id_rsa │
│ │
│ Host database-server │
│ HostName 192.168.1.101 │
│ Port 22 │
│ User root │
│ IdentityFile ~/.ssh/db_key │
│ │
│ ... (23 more hosts) │
└──────────────────────────────────────────────┘

Step 4: Export

Copy to Clipboard:

  • Click "Copy to Clipboard"
  • Content copied
  • Paste anywhere you need

Download File:

  • Click "Download File"
  • Choose save location
  • File saved with timestamp:
    • xermius-export-2024-10-17.config
    • xermius-export-2024-10-17.csv
    • xermius-export-2024-10-17.json

Import Options Explained

Create Groups from Structure

[✓] Create groups from structure

Enabled:

  • Automatically creates groups based on imported data
  • Preserves folder/group hierarchy

Example:

Import data has: "Production/Web Servers/Server1"
Result: Creates groups:
📁 Production
📁 Web Servers
🖥️ Server1

Skip Duplicates

[✓] Skip duplicates

Enabled:

  • If host already exists (same name or host address)
  • Skip importing it
  • Keeps existing configuration

Disabled:

  • Import anyway
  • May create duplicate hosts

Overwrite Existing

[ ] Overwrite existing hosts

Enabled:

  • Update existing hosts with new data
  • Useful for bulk updates

Disabled:

  • Keep existing hosts unchanged

Export Options Explained

Include Passwords

[✓] Include passwords (encrypted)

Enabled:

  • Passwords exported (encrypted)
  • Requires master password to decrypt

Disabled:

  • Passwords omitted from export
  • More secure for sharing

Security Note: Only enable if exporting for your own backup.

Include SSH Keys Paths

[✓] Include SSH keys paths

Enabled:

  • SSH key file paths included
  • Example: ~/.ssh/id_rsa

Disabled:

  • Keys paths omitted

Note: Actual key files are NOT exported, only paths.

Include Groups

[✓] Include groups

Enabled:

  • Group information included
  • Preserves organization

Include Tags

[✓] Include tags

Enabled:

  • Tags included in export
  • Useful for filtering

Export Selection

All Hosts:

  • Export all hosts in database

Selected Only:

  • Only export hosts you've selected in dashboard
  • Useful for partial exports

Troubleshooting

Import Failed - Invalid Format

Error: "Failed to parse file"

Solutions:

  1. Check file format matches selected type
  2. Verify file isn't corrupted
  3. Try opening in text editor
  4. Re-export from source application

Import Shows No Hosts

Error: "No hosts found in file"

Causes:

  • Empty file
  • Wrong format selected
  • No valid entries

Solutions:

  • Open file in text editor
  • Verify content exists
  • Try different format option

Duplicate Hosts Created

Problem: Multiple identical hosts

Solutions:

  1. Enable "Skip duplicates" option
  2. Delete duplicates manually
  3. Re-import with correct options

Missing Passwords After Import

Expected Behavior:

  • Security reasons
  • Passwords rarely exported by other tools
  • Must add manually

Solution:

  • Edit each host
  • Add passwords
  • Or use SSH keys instead

SSH Keys Not Working

Problem: Key paths are wrong

Causes:

  • Paths are from different computer
  • Keys don't exist at that location

Solutions:

# Find your keys
ls ~/.ssh/

# Common key names:
# id_rsa, id_ed25519, id_ecdsa

# Update key paths in Xermius
# Edit host → Change key file path