How to Access AWS S3 Storage with SFTP | JSCAPE

To access AWS S3 via SFTP, configure the JSCAPE MFT Server by creating an Amazon S3 network storage object, entering AWS access and secret keys, and specifying the bucket and folder. Then, map this storage to a virtual path for SFTP to S3 file uploads, facilitating secure, direct SFTP access to S3 storage.

  1. Blog

SFTP is easily one of business processes' most widely used file transfer protocols. Incidentally, Amazon S3 is also steadily becoming businesses' go-to cloud storage solution. How would you like to access AWS S3 via SFTP? If that looks like something you could use, check out this post.

Watch the video

Would you prefer to watch a video showing how to access AWS S3 via SFTP? If so, you may play the video below. Otherwise, skip it if you wish to continue reading.

I have an Amazon S3 bucket named 'jscapejohn' and, inside that bucket, a folder named 'folder1'. Let's say I want SFTP file uploads to land in this folder.

Amazon S3 bucke

The SFTP server I'm using for this tutorial is JSCAPE MFT Server, a managed file transfer server that supports SFTP, along with several other file transfer protocols like FTP, FTPS, HTTP, HTTPS, AS2, OFTP, and many others.

In addition to supporting a wide range of file transfer protocols, the JSCAPE MFT Server also supports several cloud storage and network services. So you can have your users and trading partners upload files via their file transfer protocol of choice and then have JSCAPE MFT Server store those files in your preferred cloud storage or network service.

I'm now on my JSCAPE MFT Server instance, where I already have an SFTP service up and running.

sftp to s3

In order to store files uploaded through that SFTP service onto a folder in your Amazon S3 bucket, you need to create a corresponding Amazon S3 network storage object. Go to the Network Storage module and click the Add button to do that.

store files uploaded through that SFTP

Expand the Protocol drop-down list and select Amazon S3. Click OK to proceed.

aws s3 access key

Once the network storage parameters dialog appears, give this network storage a name, say, 'ns-s3'. After that, enter your AWS S3 access key and its corresponding secret key.

specify bucket and folder

Next, specify the bucket and folder where you want your uploaded files to be stored.

test server

You may test the connection between your JSCAPE MFT Server instance and your AWS S3 bucket by clicking the Test Server button. If you encounter an error like the one shown below, ...

test server

...try checking the region associated with your AWS S3 bucket and see if it matches the region selected in the Region drop-down list. Change it if they don't match.

Amazon S3 Network Storage

Click the Test Server button again. If the test succeeds, click OK until you're back at the main screen..

Network storage test

You should then see your newly created network storage object.

 AWS S3 network storage object

Now that you have an AWS S3 network storage object, the next step is to map it to a virtual path. There are two ways to do this. One is mapping it to a user's virtual path, and the other is mapping it to a group's virtual path. Let's map it to a user's virtual path for now.

Go to the Users module, select the user whose virtual path you want to map with your network storage object, and click Edit.

accessing aws

Navigate to the Paths tab and click the Add button to add a new virtual path.

aws s3 via sftp

Define the virtual path. For example, '/s3storage'. This means this virtual path will be located directly under this user account's root virtual path.

Next, map this virtual path to the network storage you created earlier by clicking the Network Storage option button and then selecting the AWS S3 network storage name from the drop-down list.

Click OK to proceed.

network storage

AWS S3 virtual path

We're now ready to give this setup a test run. Let's connect to our SFTP service and see if we can find the AWS S3 virtual path there. Let me obtain the IP address of my JSCAPE MFT Server instance first.

accessing aws s3 via sftp - 15-1

So, in my SFTP client, I can enter that IP address into the appropriate field. I'm also going to enter the other pertinent details, like the username, password, port number of the SFTP service, and protocol type, which in this case is, of course, SFTP.

Note: I'm using the SFTP client for this example, JSCAPE AnyClient, a multi-protocol file transfer that supports SFTP and several other file transfer protocols.

s3 via sftp

As soon as I connect and log in using my file transfer client, I should see the folder 's3storage', which is the name of the virtual path that maps to my AWS S3 bucket folder.

accessing aws s3 via sftp

So, if I upload files to this folder,

upload files to folder

S3 bucket

So, if I upload files to this folder, And check the actual S3 bucket folder in my AWS console, I should see the newly uploaded files there. Excited by the possibility of seamlessly integrating SFTP with AWS S3 for your secure file transfers? Book a demo with us today to explore how the JSCAPE MFT Server can streamline your file transfer processes and enhance your data security.

AWS console

That's it. Now you know how to set up JSCAPE MFT Server, so your users can access AWS S3 via SFTP.

Try this yourself

Would you like to try this yourself? Download the FREE, fully functional Starter Edition of JSCAPE MFT Server now.

Download Now