1. Generate your SSH public key
1. Generate your SSH public key
SSH authentication is widely regarded as the most secure and reliable method for accessing an SFTP server.
It uses the Secure Shell (SSH) protocol to establish an encrypted connection, ensuring that data transferred
between the client and server remains private and protected from interception. Unlike basic password authentication,
SSH key-based authentication adds an extra layer of security by requiring a private key on the client side that
matches a public key stored on the server. This eliminates the risk of brute-force attacks or stolen credentials,
as the private key never gets transmitted. Additionally, SSH keys can be further secured with passphrases and are
easier to automate safely in scripts and scheduled tasks, making them ideal for both human and system-level access.
Overall, SSH authentication combines strong encryption, identity verification, and secure automation, making it the
best practice for accessing SFTP servers.These steps will help you generate a new SSH key pair using your terminal on Linux, macOS, or WindowsWe will need only your public key (that is safe to share and helps us set up authentication).
Your private key will also be created (and protected by the passkey) - keep it to yourself and never share it with anyone!
1.1 Open your terminal
1.1 Open your terminal
- macOS: Open the Terminal app
- Linux: Use your default terminal
- Windows: Use PowerShell or Terminal
1.2 Check for existing SSH keys
1.2 Check for existing SSH keys
Run this command to see if you already have SSH keys:Look for files like:
- id_rsa / id_rsa.pub
- id_ed25519 / id_ed25519.pub
1.3 Generate a new SSH key pair
1.3 Generate a new SSH key pair
Use the ssh-key command to generate a new SSH key pair:Adding your_email@example.com is just the argument for -C, which allows you to specify the comment attached to the generated key.
The comment is simply text appended to the key in your public key file, and is typically used as a label for your key.The default comment is your username @ the hostname of the system you generate your key on, but it can be any string you wish.
1.4 Choose the file location
1.4 Choose the file location
You’ll be prompted:
- Press Enter to accept the default - we recommend this option
- Or enter a custom path if needed
⚠️ If the file exists, you’ll be asked to overwrite - only do this if you’re sure you want to do that!
1.5 Set a Passphrase
1.5 Set a Passphrase
You’ll see:
- Type a secure passphrase (you won’t see characters as you type)
- Press Enter, then confirm
🔐 A passphrase protects your private key, you will need it to authenticateAt this point, you should have both your public and private keys created. Typically, your private key is the file without the extension (id_ed25519), while your public key has .pub as the file extension (id_ed25519.pub)
1.6 View your public key
1.6 View your public key
Whether you already had it or just created it, let’s quickly check if everything went well. Run:(in case you changed the key file name, make sure to point to the correct file in your command instead of id_ed25519.pub)You’ll see something like:You can use this key on servers, services like GitHub or any other place that supports SSH authentication.
For our needs, you would need to share .pub file with us, so we import it on our SFTP server. Keep reading to see how to do that.
2. Send the public key our way
2. Send the public key our way
We are working on a user friendly way to upload your public key but, until we have it, please send the .pub file (your SSH public key) to data@bigdata.com.
We will confirm the reception of the key by responding to your email and immediately get started with setting up the SFTP for you.What we need to do is import your public key and configure your access - it typically takes us one day to get this organized and get back
to you with the connection details. Once you receive that from us, proceed to the next step and test your SFTP connection.Meanwhile, while you wait for our response, you can start working on understanding our Bigdata Document Format (BDDF) and preparing the files.
Go here to get started with creating your first BDDF file.
3. Test your SFTP Connection
3. Test your SFTP Connection
Once you have received a confirmation from us that your public key is imported and SFTP configured (with connection details) it’s time to test your connection.Note that we will share two separate usernames for real-time and historical data delivery - it doesn’t make a difference which one you use to test the
connection, if it works for one, it should work for the other as well.Below you can find three ways to do this, pick the one that suits you the most:
Using open-source FTP client
Using open-source FTP client
1. Download and install FileZilla
1. Download and install FileZilla
- Go to the official FileZilla website
- Click on Download FileZilla Client (not Server)
- Choose the version for your operating system (Windows/macOS/Linux)
- Download the standard version (you don’t need Pro unless you require cloud access features)
- Run the installer:
- on Windows, run the .exe file.
- on macOS, open the .dmg and drag FileZilla into the Applications folder
- on Linux, use your package manager or download the .tar.bz2 archive.
2. Convert SSH private key to PPK (if using Windows)
2. Convert SSH private key to PPK (if using Windows)
FileZilla on Windows needs a .ppk key (PuTTY format), not OpenSSH by default but we’ll help you convert it.Please note this is about your private key, not the public key that you have shared with us previously.
If you don’t have your SSH key pair created, please go here and follow instructions.
- Download PuTTYgen
- Open PuTTYgen.
- Click Load, and in the file browser, select:
- File type: All Files
- Navigate to C:\Users\yourname.ssh\id_ed25519 (or wherever your private key is)
- Click Save private key to export it as a .ppk file.
3. Configure SFTP connection in FileZilla
3. Configure SFTP connection in FileZilla
- Open FileZilla
- Go to File → Site Manager
- Click New Site and give it a name (e.g., RavenPack SFTP)
- Set the following fields:
- Protocol: SFTP - SSH File Transfer Protocol
- Host: use the hostname we provided to you (most likely sftp.prod.nvirginia.common.ravenpack.com)
- Port: leave empty or use 22 (default SFTP port)
- Logon Type: key file
- User: Your username (provided by RavenPack - use either real-time or historical data username, both should work equally)
- Key file: — On Windows: browse and select the .ppk file — On macOS/Linux: browse and select your private key (e.g., ~/.ssh/id_ed25519)
- Click Connect
4. Verify the connection
4. Verify the connection
If successful, you’ll see the remote directory structure on the right side of FileZilla. Congratulations!
Using command line interface
Using command line interface
Testing by using command line interface could be a bit simpler because you don’t need to install any additional software. To do this, follow these steps:
Then try sftp again, assuming ~/.ssh/config is properly configured.
1. Test the connection
1. Test the connection
- Open Terminal
- Run the following command:
- replace your_username with the username provided to you (use either real-time or historical data username, both should work equally)
- replace your.sftp.host with the actual SFTP server address (most likely sftp.prod.nvirginia.common.ravenpack.com)
2. Add an SSH config entry
2. Add an SSH config entry
To simplify future connections, add the following to your ~/.ssh/config:Now you can just run:
3. Use the FTP
3. Use the FTP
Once connected via SFTP, you can run interactive commands:
View remote files:Upload a file:Downaload a file:Exit:
Using python script
Using python script
Here’s a Python script that automates the process of testing an SFTP connection using SSH key authentication with the help of the paramiko library.
1. Install paramiko library
1. Install paramiko library
Install paramiko library, if you haven’t already:
2. Save the script file
2. Save the script file
Save the code from the snipped below in a file named sftp_text.py:
3. Edit the configuration
3. Edit the configuration
Edit the configuration at the top of the script:
- HOST (most likely sftp.prod.nvirginia.common.ravenpack.com)
- USERNAME (use the username we provided to you - use either real-time or historical data username, both should work equally)
- PRIVATE_KEY_PATH (most likely you will just keep the default one)
4. Run the script
4. Run the script
Just run the script and, if everything goes well, you will see the status message confirming the connection was established successfully:

