SFTP

Upload files to a remote server via SFTP in CSV or JSONL format. Use SignalSmith to export data to legacy systems, partner drop zones, or any server accessible over SSH.

Prerequisites

  • An SFTP server accessible over SSH (port 22 by default)
  • A user account with write access to the target directory
  • Either a password or SSH private key for authentication

Authentication

SFTP supports two authentication methods:

Password

  1. Enter the SFTP Username and Password in SignalSmith

SSH Key

  1. Enter the SFTP Username in SignalSmith
  2. Paste the Private Key in PEM format (begins with -----BEGIN OPENSSH PRIVATE KEY-----)

Configuration

FieldTypeRequiredDescription
HostTextYesSFTP server hostname or IP address (e.g., sftp.example.com)
PortNumberNoSFTP server port. Default: 22. Valid range: 1—65535

Target Settings

FieldTypeRequiredDescription
Remote DirectoryTextYesThe directory on the SFTP server to upload files to (e.g., /data/imports)
File FormatSelectYesOutput file format: CSV or JSONL (Newline Delimited JSON). Default: CSV

Supported Operations

Sync Modes: Insert

Audience Sync Modes: Add

Features

  • Field Mapping: No — SFTP writes all mapped fields as file columns
  • Schema Introspection: No — SFTP is a file-based destination without schema discovery

How It Works

SignalSmith uploads data files to the remote SFTP server:

  1. Data is serialized into the selected format (CSV or JSONL)
  2. An SSH connection is established to the SFTP server
  3. Files are uploaded to {remote_directory}/{sync_id}/{filename}
  4. The SSH connection is closed after upload completes

SFTP only supports Insert sync mode — each sync appends new files to the remote directory.

Troubleshooting

Connection refused

Verify the host and port are correct. Ensure the SFTP server is running and accepting connections. Check that firewalls allow inbound SSH traffic on the configured port.

Authentication failed

For password authentication, verify the username and password. For SSH key authentication, ensure the private key matches a public key in the server’s authorized_keys file. The key must be in PEM format.

Permission denied on remote directory

The SFTP user must have write permissions on the target remote directory. Contact the server administrator to grant access.

SFTP subsystem unavailable

The SSH server must have the SFTP subsystem enabled. This is typically configured in the server’s sshd_config file with the Subsystem sftp directive.

Host key verification

SignalSmith does not verify host keys by default. If you require host key verification, contact support to configure known hosts.