Skip to main content

Managing Hosts

Learn about all host management features in Xermius - from creating new hosts to editing, duplicating, and deleting them.

Overview

Xermius provides comprehensive host management capabilities through an intuitive interface. Each host represents a complete SSH connection configuration including server details, authentication credentials, and organizational metadata.

Core Operations:

  • Create new host connections
  • Edit existing host details
  • Delete hosts you no longer need
  • Duplicate hosts for similar servers
  • Connect to hosts with one click
  • Open SFTP file manager for any host
  • Test connections before saving

Hosts Management Tabs

The Hosts section is organized into multiple tabs, each providing specialized functionality:

🏠 Dashboard

Your main workspace for managing SSH connections:

  • Host cards: Visual representation of all your servers
  • Groups & tags: Organize hosts by project, environment, or client
  • Quick actions: Connect, SFTP, edit, duplicate, delete
  • Search & filter: Find hosts quickly by name, tag, or group
  • Import/Export: Migrate from other SSH clients (PuTTY, MobaXterm, Termius, SecureCRT)
  • Bulk operations: Manage multiple hosts at once

🔑 Keychain

Centralized SSH key management:

  • Generate keys: Create new SSH key pairs (RSA, ED25519, ECDSA)
  • Import keys: Import existing private/public keys
  • Deploy keys: Push public keys to servers automatically
  • Key details: View fingerprints, comments, and usage
  • Export keys: Backup keys in various formats
  • SSL tools: Create CSR, check SSL certificates, read certificate details
  • Key types: Support for private keys, public keys, and certificates

🔀 Port Forwarding

SSH tunnel management:

  • Local forwarding: Access remote services on local ports
  • Remote forwarding: Expose local services to remote servers
  • Dynamic forwarding: SOCKS proxy for secure browsing
  • Tunnel monitoring: Track active tunnels, bandwidth, and uptime
  • Auto-reconnect: Automatic tunnel restoration on disconnect
  • Common ports: Pre-configured templates for popular services

☁️ Cloudflare Tunnels

Cloudflare Tunnel integration:

  • Tunnel management: Create and manage Cloudflare tunnels
  • Secure access: Expose services without opening ports
  • Zero Trust: Integrate with Cloudflare Access
  • Monitoring: Track tunnel status and traffic

🛠️ Web Tools

Utility tools for server management:

  • SSL Checker: Verify SSL certificate validity and expiration
  • Certificate Reader: Parse and display certificate details
  • Port Scanner: Check open ports on remote hosts
  • DNS Lookup: Resolve hostnames and check DNS records

📝 Snippets

Command snippet library:

  • Snippet categories: Organize commands by purpose
  • Variables: Use placeholders for dynamic values
  • Quick execution: Run snippets on one or multiple hosts
  • Snippet library: Pre-built snippets for common tasks
  • Copy & paste: Insert snippets into terminal without execution
  • Multi-host execution: Run same command across multiple servers

🔒 Known Hosts

SSH host key management:

  • Fingerprint verification: View and verify SSH host keys
  • Key changes: Detect and handle host key changes
  • Import/Export: Backup and restore known_hosts
  • Security warnings: Alert on suspicious key changes
  • Bulk management: Remove or update multiple entries

📊 Logs

Activity and connection logs:

  • Activity logs: Track all application activities
  • Connection logs: Monitor SSH connection attempts
  • Error logs: Debug connection issues
  • Filter & search: Find specific log entries
  • Export logs: Save logs for analysis or support
  • Log levels: Filter by error, warning, info, debug

⚙️ Settings

Application preferences and configuration:

  • General settings: App behavior and appearance
  • Terminal settings: Font, cursor, scrollback, bell sound
  • Notification settings: Configure notification preferences
  • Sync settings: Cross-device synchronization options
  • Security settings: Master password, auto-lock, session timeout
  • Advanced settings: Debug mode, log level, performance options

Creating Hosts

New Host Dialog

The New Host dialog provides a comprehensive form for configuring SSH connections. Access it through:

  • NEW HOST button in the action bar
  • NEW HOST dropdown → New Host option
  • Keyboard navigation

Form Organization: The dialog uses a two-tab layout:

  • Connection Tab: Essential connection and authentication details
  • Advanced Tab: Organization and metadata

Connection Details

Host Name: Display name for the server in your dashboard. This is what you'll see on the host card and search by.

Examples:
✓ Production Web Server
✓ staging-db-01
✓ Dev API Gateway
✓ Client XYZ - WordPress

Host Address: IP address or hostname of the server.

Supported formats:
✓ 192.168.1.100
✓ example.com
✓ subdomain.example.com
✓ server.internal.network

Port: SSH port number. Default is 22 (standard SSH port).

Common ports:
• 22 - Standard SSH (default)
• 2222 - Alternate SSH
• Custom ports for security through obscurity

Username: SSH login username for authentication.

Common usernames:
• ubuntu - Ubuntu servers
• ec2-user - Amazon Linux
• root - Root access (not recommended for production)
• admin - Administrative accounts
• Custom usernames per your setup

Authentication Methods

Xermius supports two authentication methods:

Password Authentication

How It Works: Standard password-based SSH login. Enter the password and it's stored securely in the application.

Password Field Features:

  • Masked by default for security
  • Toggle visibility with eye icon
  • Optional (can be left empty)
  • Stored encrypted

When to Use:

  • Quick setup for development servers
  • Temporary or testing environments
  • Servers without SSH key support
  • When key management isn't needed

Security Considerations:

  • Less secure than SSH keys
  • Vulnerable to brute force attacks
  • Consider keys for production servers
  • Regular password rotation recommended

SSH Key Authentication

How It Works: Uses public-key cryptography for authentication. Select a private key from your Keychain, and Xermius handles the connection.

Key Selector:

  • Dropdown showing all keys in Keychain
  • Displays key name and type (ED25519, RSA, etc.)
  • Option for "No Key" (password auth)
  • Link to generate new keys

Benefits:

  • More secure than passwords
  • Automated authentication
  • No password transmission
  • Industry best practice
  • Required by many cloud providers

Key Types Supported:

  • ED25519 - Modern, fast, secure (recommended)
  • RSA - Traditional, widely supported
  • ECDSA - Elliptic curve, good security

Setup Requirements:

  1. Generate SSH key in Keychain tab
  2. Deploy public key to server
  3. Select private key in host config
  4. Test connection

Related: See SSH Keys for key generation and Key Management for deployment.

Connection Testing

Test Connection Feature: Built-in connection testing verifies your configuration before saving.

What It Tests:

  • Server reachability (network connection)
  • Port accessibility
  • Authentication credentials
  • SSH handshake
  • User permissions

Test Process:

  1. Click Test Connection button
  2. Xermius attempts connection
  3. Results displayed instantly
  4. Success or error message shown

Success Indicators:

✓ Connection successful
✓ Authentication verified
✓ Server accessible
✓ Ready to save and use

Common Errors:

✗ Connection timeout - Server unreachable or firewall blocking
✗ Connection refused - Wrong port or SSH not running
✗ Authentication failed - Wrong password or key not authorized
✗ Permission denied - User doesn't have SSH access

Best Practice: Always test connections before saving, especially for production servers. This catches configuration errors immediately.

Advanced Settings

Group Assignment

Assign the host to a group for organization:

  • Select from existing groups
  • Default group selected automatically
  • Change group anytime after creation
  • Helps filter and find hosts

Group Strategy: Choose groups based on your organizational needs:

  • Environment (Production, Staging, Development)
  • Project (Project A, Project B, Internal)
  • Location (US East, EU West, Asia)
  • Client (if managing multiple client servers)

Operating System Selection

Select the OS running on the server:

Available Options:

  1. Ubuntu - Orange icon, most popular
  2. CentOS - Purple icon, enterprise
  3. Debian - Red icon, stable
  4. Amazon Linux - Orange icon, AWS
  5. Fedora - Blue icon, cutting edge
  6. RHEL - Dark red icon, enterprise
  7. SUSE - Green icon, enterprise
  8. Other - Gray icon, generic Linux

Why It Matters:

  • Visual identification with colored icons
  • Quick recognition in dashboard
  • Terminal optimizations per OS
  • Default shell detection

Tip: Select the correct OS for best experience, but it's not critical - you can always change it later.

Tags

Add multiple tags to categorize hosts:

Tag Features:

  • Multi-select from predefined tags
  • Create custom tags on-the-fly
  • Add as many as needed
  • Colored badges on host cards
  • Search by tags later

Predefined Tags:

  • Production
  • Development
  • Staging
  • Web Server
  • Database
  • API Server
  • Cache Server
  • Backup

Custom Tags: Type new tag name and add it. Tags are shared across all hosts and persist for future use.

Tagging Strategy: Use tags for flexible, multi-dimensional organization:

Environment: production, staging, development
Service Type: web, database, cache, api, queue
Priority: critical, standard, low
Maintenance: weekly-patch, monthly-patch
Projects: project-a, project-b, client-xyz

Comment Field

Optional text field for notes:

Use Cases:

  • Server purpose or role
  • Maintenance windows
  • Special configuration notes
  • Contact information
  • Deployment instructions
  • Known issues or quirks

Example Comments:

"Production web server - Auto-deploys from main branch"
"Database primary - Nightly backup at 2 AM UTC"
"API gateway - Rate limited to 1000 req/min"
"Client staging - Deploy from develop branch only"

Save Options

Two ways to complete host creation:

Save:

  • Saves host configuration
  • Returns to dashboard
  • Host appears in card grid
  • Click later to connect

Save & Connect:

  • Saves host and immediately connects
  • Opens terminal tab automatically
  • Start working right away
  • Convenient for immediate use

Editing Hosts

Edit Host Dialog

Modify any aspect of an existing host through the Edit Host dialog.

Access Edit:

  • Three-dot menu → Edit
  • Right-click host → Edit
  • Keyboard navigation

What You Can Edit:

  • All connection details (name, host, port, username)
  • Authentication (switch password/key, update credentials)
  • Group assignment
  • Operating system
  • Tags (add, remove, modify)
  • Comments

Form Layout: Identical to New Host dialog:

  • Connection tab with all connection details
  • Advanced tab with organization fields
  • Test Connection button available
  • Update button to save changes

Editing Connection Details

Change Host Address or Port: Useful when:

  • Server IP changes
  • Moving to different server with same role
  • Port configuration changes
  • DNS hostname updates

Update Username: Needed when:

  • Account credentials change
  • Switching to different user (e.g., from root to regular user)
  • Security policy changes

Note: Changing connection details may require re-testing the connection.

Changing Authentication

Switch Authentication Method: You can change between password and SSH key authentication:

  • From password to key (recommended upgrade)
  • From key to password (if needed)
  • Update existing password
  • Select different SSH key

Password Update:

  • Enter new password in field
  • Test connection to verify
  • Save changes

Key Update:

  • Select different key from Keychain
  • Ensure public key deployed on server
  • Test connection to verify
  • Save changes

Updating Organization

Reassign Group: Move hosts between groups anytime:

  • Select different group from dropdown
  • Useful when reorganizing structure
  • Affects filtering and display
  • Immediate effect after saving

Modify Tags:

  • Add new tags to host
  • Remove tags no longer relevant
  • Update tag strategy over time
  • Flexible categorization

Update OS Selection: Change if you selected wrong OS initially or if server OS was upgraded.

Edit Comments: Keep comments up-to-date with server changes, new responsibilities, or updated contact information.

Live Updates

Changes take effect immediately after saving:

  • Host card updates in dashboard
  • Search and filters reflect changes
  • Group assignments update
  • Tags display updated
  • No restart or refresh needed

Deleting Hosts

Delete Confirmation

Xermius requires confirmation before deleting hosts to prevent accidental data loss.

Delete Process:

  1. Select Delete from actions menu
  2. Confirmation dialog appears
  3. Review host name being deleted
  4. Confirm or cancel

Confirmation Dialog:

Are you sure you want to delete this host?

Host: Production Web Server (192.168.1.100)

This action cannot be undone.
Active sessions will be closed.

[Cancel] [Delete]

What Happens

When you delete a host:

Immediate Effects:

  • Host removed from dashboard
  • No longer appears in search
  • Cannot be recovered (permanent)
  • Active terminal sessions closed
  • SFTP sessions terminated

What's NOT Affected:

  • Server itself (only local config deleted)
  • Groups remain (even if empty)
  • Tags remain for other hosts
  • Import/export history

When to Delete

Appropriate Times:

  • Server decommissioned
  • No longer managing that server
  • Duplicate entry created by mistake
  • Moving to different SSH client
  • Cleanup of unused connections

Consider Before Deleting:

  • Export hosts first for backup
  • Close active sessions gracefully
  • Note any unique configuration
  • Verify you have connection details elsewhere

Alternative to Deletion: If you might need the host later, consider:

  • Moving to an "Archive" group
  • Adding "inactive" tag
  • Keeping but not connecting

Duplicating Hosts

Duplicate Feature

Create a copy of existing host with all settings pre-filled, perfect for setting up similar servers.

Access Duplicate:

  • Three-dot menu → Duplicate
  • Right-click host → Duplicate

What Happens:

  1. New Host dialog opens
  2. All fields pre-filled from source host
  3. Modify fields as needed
  4. Save as new host

What Gets Copied:

  • Connection details (host, port, username)
  • Authentication method (password or key)
  • Group assignment
  • OS selection
  • Tags
  • Comment

What You Should Change:

  • Host name (make it unique)
  • Host address/IP (different server)
  • Any server-specific details

Use Cases

Load-Balanced Servers:

Source: web-01 (192.168.1.10)
Duplicate → web-02 (192.168.1.11)
Duplicate → web-03 (192.168.1.12)

Same config, different IPs

Environment Copies:

Source: Production API (api.prod.com)
Duplicate → Staging API (api.staging.com)
Duplicate → Dev API (api.dev.com)

Same setup across environments

Similar Client Servers:

Source: Client A - WordPress
Duplicate → Client B - WordPress
Duplicate → Client C - WordPress

Same WordPress setup for each client

Testing Different Credentials:

Source: prod-db (root user, key auth)
Duplicate → prod-db-readonly (app user, password)

Same server, different access levels

Duplicate Workflow

Efficient Setup:

  1. Create first host with complete config
  2. Test and verify it works
  3. Duplicate for similar hosts
  4. Change only hostname and IP
  5. Test each duplicate
  6. Save time vs creating from scratch

Batch Server Setup: When setting up multiple similar servers:

  1. Configure one completely
  2. Duplicate for each additional server
  3. Update specific details
  4. Maintain consistency across servers
  5. Reduce configuration errors

Connecting to Hosts

Connection Methods

Single-Click Connect:

  • Click any host card in dashboard
  • Terminal tab opens automatically
  • Connection established
  • Start working immediately

From Actions Menu:

  • Three-dot menu → Connect
  • Right-click → Connect
  • Same result as clicking card

Multiple Tabs: You can open multiple terminal tabs to the same host:

  • Each click opens new tab
  • Independent terminal sessions
  • Parallel work in different tabs
  • All contribute to "online" status

Connection Process

What Happens When Connecting:

  1. New terminal tab created
  2. SSH connection initiated
  3. Authentication performed
  4. Terminal ready for commands
  5. Host status updates to "online"

Session Independence: Each tab is an independent SSH session:

  • Separate working directories
  • Independent command history
  • Different running processes
  • Can disconnect individually

Connection Status

Online Status (Green Badge):

  • At least one active terminal session
  • Ready for additional connections
  • Click to open another tab
  • Disconnect from terminal tabs

Offline Status (Gray Badge):

  • No active sessions
  • Normal when not in use
  • Click to connect
  • Status updates automatically

Real-time Updates: Host status reflects actual connection state:

  • Changes when you connect/disconnect
  • Updates across all views
  • No manual refresh needed

Connection Failures

If Connection Fails:

  • Error message displayed in terminal
  • Check connection details
  • Verify server is running
  • Test network connectivity
  • Review authentication credentials

Common Issues:

Connection timeout - Server down or unreachable
Permission denied - Wrong credentials
Port closed - Firewall or wrong port
Host key changed - Server reinstalled (security warning)

Troubleshooting:

  1. Edit host to verify settings
  2. Use Test Connection feature
  3. Check server status
  4. Verify firewall rules
  5. Confirm credentials haven't changed

Opening SFTP

SFTP Access

Every host can open an SFTP file manager for file transfer operations.

Access SFTP:

  • Three-dot menu → Open SFTP
  • Right-click → Open SFTP

What Opens:

  • Dedicated SFTP tab
  • File manager interface
  • Connected to same host
  • Ready for file operations

SFTP Features:

  • Browse remote file system
  • Upload files and folders
  • Download files and folders
  • Delete, rename, move files
  • Create directories
  • View file properties
  • Dual-pane interface

Relationship to Terminal:

  • SFTP uses same connection details
  • Independent from terminal sessions
  • Can have terminal + SFTP open simultaneously
  • Both show host as "online"

Related: See SFTP File Manager for detailed SFTP features.

Host Card Elements

Visual Components

Each host card displays comprehensive information at a glance:

OS Icon:

  • Colored background per OS type
  • Brand icon (Ubuntu, CentOS, etc.)
  • Quick visual identification
  • 8 different color schemes

Host Name:

  • Large, prominent display
  • Primary identifier
  • Searchable
  • Click to connect

Connection Details:

  • IP address or hostname
  • Username shown
  • Port (if not default 22)
  • Quick reference

Status Badge:

  • Green: Online (active sessions)
  • Gray: Offline (no sessions)
  • Real-time updates
  • Visual indicator

Tags:

  • Colored badge pills
  • Multiple tags displayed
  • Visual categorization
  • Click to view all

Comment:

  • Icon: message bubble
  • Truncated if long
  • Shows server notes
  • Optional display

Card Interactions

Primary Action (Click):

  • Anywhere on card connects
  • Opens terminal tab
  • Quick access to server

Actions Menu (Three Dots):

  • Connect
  • Edit
  • Delete
  • Open SFTP
  • Duplicate

Context Menu (Right-Click):

  • Same options as actions menu
  • Quick access without dropdown
  • Keyboard navigable

Hover Effects:

  • Shadow increases
  • Visual feedback
  • Smooth animation
  • Indicates clickable

Best Practices

Naming Strategy

Consistent Patterns: Use predictable naming for easy identification:

✓ [environment]-[service]-[number]
prod-web-01, prod-web-02
staging-db-01
dev-api-01

✓ [project]-[role]-[location]
clienta-web-useast
clientb-db-euwest

✓ [service]-[env]-[identifier]
wordpress-prod-main
magento-staging-backup

Avoid Ambiguity:

✗ server1, server2 (meaningless)
✗ test, production (too vague)
✗ backup, old (temporary names becoming permanent)

Authentication Security

Production Servers:

  • Use SSH keys, not passwords
  • ED25519 keys recommended
  • Rotate keys periodically
  • One key per purpose

Development Servers:

  • Passwords acceptable for convenience
  • Still consider keys for automation
  • Different credentials than production
  • Test key authentication setup

Key Management:

  • Generate keys in Keychain tab
  • Deploy public keys properly
  • Keep private keys secure
  • Document key purposes

Organization

Group Assignment:

  • Assign during creation
  • Use consistent group names
  • Don't create too many groups
  • Balance between organization and complexity

Tagging:

  • Tag during creation
  • Use consistent tag names
  • Multiple tags per host OK
  • Tag strategy across team

Comments:

  • Add during setup
  • Keep updated
  • Note special configs
  • Document quirks

Configuration Management

Document Everything:

  • Use comments field
  • Note special settings
  • Document dependencies
  • Record contact info

Test Before Saving:

  • Use connection testing
  • Verify credentials
  • Confirm network access
  • Catch errors early

Regular Maintenance:

  • Review host list periodically
  • Delete unused hosts
  • Update changed details
  • Keep information current

Efficiency Tips

Duplicate for Speed:

  • Set up one host completely
  • Duplicate for similar servers
  • Modify only differences
  • Maintain consistency

Batch Operations:

  • Create multiple hosts at once
  • Use import for many hosts
  • Organize as you create
  • Save time vs one-by-one

Quick Access:

  • Pin frequently used hosts
  • Use consistent naming for search
  • Leverage status filters
  • Group by access frequency

Common Workflows

Setting Up Production Server

  1. Click NEW HOST button
  2. Enter server details carefully
  3. Select SSH key authentication
  4. Assign to PRODUCTION group
  5. Add "production" and service tags
  6. Add comment with purpose
  7. Test connection thoroughly
  8. Save (not Save & Connect for production)
  9. Verify in dashboard
  10. Connect when ready

Creating Development Environment

  1. Duplicate production host
  2. Change name to dev-[service]
  3. Update IP to dev server
  4. Change group to DEVELOPMENT
  5. Update tags (remove "production", add "development")
  6. Update comment for dev notes
  7. Test connection
  8. Save & Connect (OK for dev)

Migrating Server

  1. Create new host for new server
  2. Duplicate old host settings
  3. Update IP to new server
  4. Test connection
  5. Connect and verify services
  6. Update group/tags if needed
  7. Keep old host temporarily
  8. Delete old after migration verified

Organizing Existing Hosts

  1. Review all hosts in dashboard
  2. Create appropriate groups
  3. Edit each host to assign group
  4. Add tags for categorization
  5. Update names if needed
  6. Add comments for clarity
  7. Verify organization works

Next Steps

Related Features:


Pro Tip: Use the duplicate feature when setting up multiple similar servers. Configure one completely, then duplicate and modify just the unique details (name, IP) for each additional server!