Search Shortcut cmd + k | ctrl + k
sshfs

Allows reading and writing files over SSH

Maintainer(s): onnimonni

Installing and Loading

INSTALL sshfs FROM community;
LOAD sshfs;

Example

-- Install & load the extension
INSTALL sshfs FROM community;
LOAD sshfs;

-- Authenticate with SSH key file
CREATE SECRET my_hetzner_storagebox (
    TYPE SSH,
    USERNAME 'user',
    KEY_PATH '/Users/' || getenv('USER') || '/.ssh/storagebox_key',
    PORT 23
    SCOPE 'sshfs://u123456.your-storagebox.de'
);

-- or with password
CREATE SECRET my_server (
  TYPE SSH,
  USERNAME 'user',
  PASSWORD 'password',
  SCOPE 'sshfs://your-server.example.com'
);

-- Write data to remote server
COPY (SELECT * FROM large_table)
TO 'sshfs://your-server.example.com/data.parquet';

-- Read The uploaded parquet file using WebDAV
SELECT * FROM 'sshfs://your-server.example.com/data.parquet';

About sshfs

DuckDB sshfs extension enables seamless integration with servers through ssh, allowing users to read from and write to remote file systems directly within DuckDB.

See: https://github.com/midwork-finds-jobs/duckdb-sshfs/blob/main/README.md for more examples and details.

Added Functions

This extension does not add any functions.

Overloaded Functions

This extension does not add any function overloads.

Added Types

This extension does not add any types.

Added Settings

name description input_type scope aliases
ssh_keepalive SSH keepalive interval in seconds (default: 60, set to 0 to disable). Prevents idle connection timeouts and improves performance. BIGINT GLOBAL []
sshfs_chunk_size_mb Chunk size in MB for uploads (default: 50MB, larger chunks may improve throughput but use more memory) BIGINT GLOBAL []
sshfs_debug_logging Enable debug logging for SSHFS operations BOOLEAN GLOBAL []
sshfs_initial_retry_delay_ms Initial delay in milliseconds between retries, with exponential backoff (default: 1000) BIGINT GLOBAL []
sshfs_max_concurrent_uploads Maximum number of concurrent chunk uploads (default: 2, higher values may improve speed but use more connections) BIGINT GLOBAL []
sshfs_max_retries Maximum number of connection retry attempts (default: 3) BIGINT GLOBAL []
sshfs_timeout_seconds Timeout in seconds for SSH operations (default: 300 = 5 minutes) BIGINT GLOBAL []