SSH JSON Import Format Guide
Use this guide to create JSON files for bulk importing SSH hosts. All examples are copyable.
Required Fields
ip
- Host IP address (string)port
- SSH port (number, 1-65535)username
- SSH username (string)authType
- Authentication type:"password"
,"key"
, or"credential"
Authentication Fields
password
- Required if authType is "password"key
- SSH private key content (string) if authType is "key"keyPassword
- Optional key passphrasekeyType
- Key type:"auto"
,"ssh-rsa"
,"ssh-ed25519"
,"ecdsa-sha2-nistp256"
,"ecdsa-sha2-nistp384"
,"ecdsa-sha2-nistp521"
,"ssh-dss"
,"ssh-rsa-sha2-256"
,"ssh-rsa-sha2-512"
credentialId
- ID of existing credential (number) ifauthType
is"credential"
Optional Fields
name
- Display name (string)folder
- Organization folder (string)tags
- Array of tag stringspin
- Pin to top (boolean)enableTerminal
- Show in Terminal tab (boolean, default: true)enableTunnel
- Show in Tunnel tab (boolean, default: true)enableFileManager
- Show in File Manager tab (boolean, default: true)defaultPath
- Default directory path (string)
Tunnel Configuration
tunnelConnections
- Array of tunnel objectssourcePort
- Local port (number)endpointPort
- Remote port (number)endpointHost
- Target host name (string)maxRetries
- Retry attempts (number, default: 3)retryInterval
- Retry delay in seconds (number, default: 10)autoStart
- Auto-start on launch (boolean, default: false)
Example JSON Structure
json
{
"hosts": [
{
"name": "Web Server - Production",
"ip": "192.168.1.100",
"port": 22,
"username": "admin",
"authType": "password",
"password": "your_secure_password_here",
"folder": "Production",
"tags": ["web", "production", "nginx"],
"pin": true,
"enableTerminal": true,
"enableTunnel": false,
"enableFileManager": true,
"defaultPath": "/var/www"
},
{
"name": "Database Server",
"ip": "192.168.1.101",
"port": 22,
"username": "dbadmin",
"authType": "key",
"key": "-----BEGIN OPENSSH PRIVATE KEY-----\nYour SSH private key content here\n-----END OPENSSH PRIVATE KEY-----",
"keyPassword": "optional_key_passphrase",
"keyType": "ssh-ed25519",
"folder": "Production",
"tags": ["database", "production", "postgresql"],
"pin": false,
"enableTerminal": true,
"enableTunnel": true,
"enableFileManager": false,
"tunnelConnections": [
{
"sourcePort": 5432,
"endpointPort": 5432,
"endpointHost": "Web Server - Production",
"maxRetries": 3,
"retryInterval": 10,
"autoStart": true
}
]
},
{
"name": "Development Server",
"ip": "192.168.1.102",
"port": 2222,
"username": "developer",
"authType": "credential",
"credentialId": 1,
"folder": "Development",
"tags": ["dev", "testing"],
"pin": false,
"enableTerminal": true,
"enableTunnel": false,
"enableFileManager": true,
"defaultPath": "/home/developer"
}
]
}
Notes
- Maximum 100 hosts per import
- File must contain a "hosts" array or be an array of host objects
- Use the Download Sample button in the Host Manager to get a complete example file
- Credential authentication requires existing credentials to be created first before importing
- Sensitive data (passwords/keys) is excluded from exports
Support
If you need help with Termix, you can join the Discord server and visit the support channel. You can also open an issue or open a pull request on the GitHub repo.