SFTP

Connect & Ingest data from / into an SFTP connection

Setup

The following credentials keys are accepted:

  • host (required) -> The hostname / ip of the machine

  • user (required) -> The username to access the machine

  • port (optional. Default is 22)

  • password (optional) -> The password to access the machine

  • private_key (optional) -> This is the raw key string or the path to your SSH private key.

  • passphrase (optional) -> The passphrase to use to access a SSH server.

  • ssh_tunnel (optional since v1.2.15) -> The URL of the SSH server you would like to use as a tunnel (example ssh://user:password@db.host:22)

  • ssh_private_key (optional since v1.2.15) -> The private key to use to access a SSH tunnel server (raw string or path to file).

  • ssh_passphrase (optional since v1.2.15) -> The passphrase to use to access a SSH tunnel server.

Using sling conns

Here are examples of setting a connection named MY_SFTP. We must provide the type=sftp property:

$ sling conns set MY_SFTP type=sftp host=<host> user=<user> password=<password> port=<port> private_key=<private_key>

# Or use url
$ sling conns set MY_SFTP url=sftp://myuser:mypass@host.ip:22 private_key=<private_key>

Environment Variable

In JSON/YAML format:

export MY_SFTP='{type: sftp, url: "sftp://myuser:mypass@host.ip:22", private_key: <private_key>}'

Sling Env File YAML

See here to learn more about the sling env.yaml file.

connections:
  MY_SFTP:
    type: sftp
    host: <host>
    user: <user>
    port: <port>
    password: <password>
    private_key: <private_key>

  MY_SFTP_URL:
    url: "sftp://myuser:mypass@host.ip:22"
    private_key: <private_key>

If you are facing issues connecting, please reach out to us at support@slingdata.io, on discord or open a Github Issue here.

Last updated