Skip to content

Sync & Security ​

Learn about Kerminal's multi-device synchronization and security features.

Multi-Device Sync ​

Kerminal allows you to synchronize your SSH profiles, saved commands, and settings across multiple devices.

Supported Databases ​

DatabaseDescription
MySQLFull-featured relational database
PostgreSQLAdvanced open-source database
MongoDBNoSQL document database

Setting Up Sync ​

  1. Click the Sync Manager button (Cloud icon) in the top bar
  2. Choose your database type
  3. Enter connection details:
    • Host
    • Port
    • Database name
    • Username
    • Password
  4. Click Test Connection
  5. Enable sync

Setting Up MongoDB Atlas ​

Kerminal supports MongoDB Atlas for sync. Map your connection string to the fields:

Connection String Example:mongodb+srv://user:[email protected]/?retryWrites=true&w=majority

Enter in Kerminal:

  • Protocol: mongodb+srv
  • Host: cluster0.abcde.mongodb.net
  • Port: 27017 (Default)
  • Username: user
  • Password: pass
  • Options: retryWrites=true&w=majority

What Gets Synced ​

  • ✅ SSH profiles and groups
  • ✅ Saved commands
  • ✅ Port forwarding configurations
  • ✅ Application settings
  • ❌ SSH private keys (never synced)
  • ❌ Master password

Sync Behavior ​

Auto-Sync ​

Enable automatic synchronization:

  • Sync on startup
  • Sync on profile changes
  • Background sync interval

Manual Sync ​

Trigger sync manually:

  • Click the sync button in status bar
  • Use keyboard shortcut
  • Sync Manager > Settings > Sync Now

Conflict Resolution ​

When the same item is modified on multiple devices:

StrategyDescription
Last Write WinsMost recent change is kept
AskPrompt user to choose
Keep LocalAlways prefer local changes
Keep RemoteAlways prefer remote changes

Device Management ​

Manage connected devices:

  1. Open Sync Manager (Cloud icon)
  2. Go to the Devices tab
  3. View all registered devices
  4. Revoke access for lost/stolen devices
  5. Rename devices for identification

Security Architecture ​

Encryption at Rest ​

All sensitive data is encrypted before storage:

Data → AES-256-GCM Encryption → Encrypted Storage

Protected data includes:

  • SSH passwords
  • Private key passphrases
  • Sync credentials
  • Saved command variables

Master Password ​

The master password is the key to all encrypted data:

  • Never stored - only a verification hash is kept
  • Cannot be recovered - if forgotten, encrypted data is lost
  • Used to derive encryption keys via Argon2

Setting Master Password ​

  1. First launch prompts for master password
  2. Or click Master Password Settings (Shield icon) in the top bar
  3. Enter a strong password
  4. Confirm the password
  5. Optionally store in system keychain

Changing Master Password ​

  1. Click Master Password Settings (Shield icon)
  2. Click Change Master Password
  3. Enter current password
  4. Enter new password
  5. All data is re-encrypted with new key

Key Derivation ​

Kerminal uses Argon2id for key derivation:

Master Password + Salt → Argon2id → Encryption Key

Argon2 parameters are tuned for security:

  • Memory: 64 MB
  • Iterations: 3
  • Parallelism: 4

Device-Specific Keys ​

Each device has unique encryption that prevents data access from other devices:

  1. Device generates unique key pair on first run
  2. Sync data is encrypted with device-specific key
  3. Other devices cannot decrypt without proper key exchange

Synced Data Encryption ​

Data synced to cloud databases is always encrypted:

Local Data → Encrypt with Master Key → Sync to Database

The server never sees unencrypted:

  • Passwords
  • Private key data
  • Sensitive configuration

Session Security ​

Auto-Lock ​

Automatically lock Kerminal after inactivity:

  1. Click Master Password Settings (Shield icon)
  2. Enable Auto-Lock
  3. Set timeout (e.g., 5 minutes)
  4. Choose lock behavior:
    • Close all connections
    • Keep connections (lock UI only)

Unlock ​

When locked, enter your master password to unlock.

Keychain Integration ​

Store master password in system keychain for auto-unlock:

PlatformKeychain
WindowsWindows Credential Manager
macOSKeychain Access
LinuxSecret Service (GNOME Keyring, KWallet)

Enable auto-unlock:

  1. Click Master Password Settings (Shield icon)
  2. Enable Store in Keychain
  3. Enter master password when prompted

SSH Key Security ​

Private Key Storage ​

Private keys are stored with encryption:

Private Key → Encrypt with Device Key → Secure Storage

Key Passphrases ​

When importing passphrase-protected keys:

  • Passphrase can be stored encrypted
  • Or prompted each time (more secure)

Never Exported ​

Private keys are never:

  • Synced to cloud
  • Exported without explicit action
  • Logged or transmitted

Best Practices ​

Master Password ​

  1. Use a strong password (12+ characters, mixed case, numbers, symbols)
  2. Don't reuse passwords from other services
  3. Consider a passphrase (easier to remember, still secure)
  4. Store backup in a secure password manager

Sync Security ​

  1. Use TLS/SSL for database connections
  2. Strong database passwords
  3. Regular device audit - revoke unknown devices
  4. Encrypt database backups

Key Management ​

  1. Use Ed25519 for new keys (more secure, faster)
  2. Protect with passphrase
  3. Different keys for different environments
  4. Regular rotation (yearly recommended)

General ​

  1. Keep Kerminal updated for security patches
  2. Lock when away from computer
  3. Review connected devices regularly
  4. Backup encrypted exports securely

Released under the MIT License.