Skip to main content

Overview

The Remote Server integration allows your workflows to connect to remote servers via SSH and execute commands, scripts, and file operations.

SSH Access

Connect to any server via SSH

Command Execution

Run shell commands remotely

File Operations

Read, write, and transfer files

Secure Connections

Encrypted SSH connections with key authentication

Setup

Adding a Server Connection

  1. Navigate to Settings > Integrations
  2. Click Add Integration > Remote Server
  3. Enter server details:
    • Hostname/IP: Server address
    • Port: SSH port (default: 22)
    • Username: SSH username
    • Authentication: Choose SSH key or password
  4. Test connection and save

Authentication Methods

Recommended for production
  1. Generate SSH key pair (if needed):
ssh-keygen -t ed25519 -C "[email protected]"
  1. Copy public key to server:
ssh-copy-id [email protected]
  1. Add private key to Splox integration
Security: Always use SSH keys for production servers. Store private keys securely.

Available Actions

Connection Management

Establish SSH connection to a remote server.Parameters:
  • host - Server hostname or IP address
  • username - SSH username
  • port - SSH port (default: 22)
  • timeout - Connection timeout in seconds (default: 10)
Returns:
  • connection_id - Unique connection identifier
  • host - Connected server host
  • username - Authenticated username
  • status - Connection status
Get list of active SSH connections.Returns:
  • connections - Array of active connections
    • connection_id - Connection ID
    • host - Server host
    • username - Username
    • connected_at - Connection timestamp
    • status - Connection status
Close an active SSH connection.Parameters:
  • connection_id - Connection ID to close
Returns:
  • success - Disconnection success status
  • connection_id - Disconnected connection ID

Command Execution

Run a shell command on the remote server.Parameters:
  • connection_id - Active connection ID
  • command - Shell command to execute
  • path - Working directory (optional)
  • timeout - Command timeout in seconds (default: 30)
Returns:
  • stdout - Command standard output
  • stderr - Command standard error
  • exit_code - Command exit code

File Operations

Read contents of a file from the server.Parameters:
  • connection_id - Active connection ID
  • path - File path on server
  • start_line - Starting line number (optional, default: 1)
  • num_lines - Number of lines to read (optional, default: 0 = all)
  • max_kb - Maximum KB to read (default: 8, max: 32)
Returns:
  • content - File contents
  • content_size - Content size in bytes
  • lines_read - Number of lines read
  • total_lines - Total lines in file
Write content to a file on the server.Parameters:
  • connection_id - Active connection ID
  • path - File path to write
  • content - Content to write
Returns:
  • success - Write success status
  • path - Written file path
  • size - Written bytes
List files and directories on the server.Parameters:
  • connection_id - Active connection ID
  • path - Directory path to list
Returns:
  • files - Array of file objects
    • name - File/directory name
    • path - Full path
    • size - File size (if file)
    • mode - File permissions
    • is_dir - Is directory flag
    • modified - Last modified time
Delete a file or directory from the server.Parameters:
  • connection_id - Active connection ID
  • path - File/directory path to remove
  • recursive - Remove directories recursively (default: false)
Returns:
  • success - Deletion success status
  • path - Removed path
Create a directory on the server.Parameters:
  • connection_id - Active connection ID
  • path - Directory path to create
Returns:
  • success - Creation success status
  • path - Created directory path
  • mode - Directory permissions
Check if a file or directory exists on the server.Parameters:
  • connection_id - Active connection ID
  • path - Path to check
Returns:
  • exists - File exists status
  • is_dir - Is directory (if exists)
  • is_file - Is file (if exists)
  • size - File size (if file)
  • mode - File permissions
  • modified - Last modified time

Advanced Operations

Upload files from remote server directly to S3.Parameters:
  • connection_id - Active connection ID
  • files - Array of file objects
    • remote_path - Path on server
    • filename - Custom filename (optional)
    • content_type - MIME type (optional)
Returns:
  • uploads - Array of uploaded file objects
    • url - S3 URL
    • filename - Uploaded filename
    • size - File size
    • remote_path - Original server path
AI-powered editing of large files on remote server.Parameters:
  • connection_id - Active connection ID
  • target_file - File path to edit
  • instructions - Detailed edit instructions
  • code_edit - Code changes with context markers
Returns:
  • success - Edit success status
  • message - Edit confirmation
  • usage - Token usage statistics
Quick AI-powered file editing on remote server.Parameters:
  • connection_id - Active connection ID
  • target_file - File path to edit
  • instructions - Edit instructions
  • code_edit - Code changes
Returns:
  • success - Edit success status
  • message - Edit confirmation

Example Usage

Execute Commands

File Operations

Upload and Execute Script

Download Logs

Use Cases

Automate application deployments to remote servers with git pull, build, and restart commands.
Execute monitoring commands and collect system metrics from multiple servers.
Schedule and execute backup scripts across server infrastructure.
Update configuration files and restart services across server fleets.
Download and analyze log files using AI-powered workflows.
Execute database backups, migrations, and maintenance tasks.

Best Practices

Use SSH Keys

Prefer SSH key authentication over passwords

Limit Permissions

Use dedicated service accounts with minimal permissions

Set Timeouts

Always set appropriate command timeouts

Log Commands

Enable audit logging for all remote executions

Error Handling

Check exit codes and handle errors gracefully

Secure Secrets

Use environment variables for sensitive data

Security Considerations

Production Safety: Never execute untrusted commands or scripts on production servers.

Security Checklist

  • ✅ Use SSH keys instead of passwords
  • ✅ Restrict server access to specific IP addresses
  • ✅ Use dedicated service accounts with limited sudo access
  • ✅ Enable SSH connection logging
  • ✅ Rotate SSH keys regularly
  • ✅ Never expose private keys in workflow configurations
  • ✅ Use environment variables for credentials
  • ✅ Enable 2FA on SSH where possible

SSH Key Rotation

Connection Management

Multiple Servers

Manage multiple server connections in a single workflow:

Connection Pooling

Splox automatically manages SSH connection pooling for better performance:
  • Reuses connections within workflow execution
  • Automatic reconnection on failure
  • Configurable connection timeout
  • Maximum 10 concurrent connections per server

Monitoring & Debugging

Command Output

All command output is captured and available:

Connection Health

Monitor SSH connection health in the Splox dashboard:
  • Connection success rate
  • Average response time
  • Failed authentication attempts
  • Command execution history

Troubleshooting

Causes:
  • Network issues
  • Firewall blocking SSH port
  • Server not responding
Solutions:
  • Verify server is reachable: ping server.com
  • Check firewall rules allow SSH (port 22)
  • Increase connection timeout setting
Causes:
  • Invalid SSH key
  • Wrong username
  • Key not authorized on server
Solutions:
  • Verify SSH key is correct
  • Check username is valid
  • Ensure public key is in ~/.ssh/authorized_keys
Causes:
  • Insufficient file permissions
  • Command requires sudo
  • User lacks required access
Solutions:
  • Grant appropriate file permissions
  • Configure passwordless sudo if needed
  • Use service account with required permissions
Causes:
  • Command taking too long
  • Process hanging
  • Network latency
Solutions:
  • Increase timeout value
  • Run long commands in background
  • Use screen or tmux for long operations

Limitations

  • Maximum concurrent connections: 10 per server
  • Command timeout: Up to 15 minutes
  • File upload size: 100 MB per file
  • File download size: 500 MB per file
  • Maximum output size: 10 MB
Need Higher Limits? Contact support for enterprise quotas.

Next Steps