This article explains how to use an S3 bucket as an SFTP server.
Step 1 — Create SFTP Server
Open the AWS Transfer service at console.aws.amazon.com/transfer, select your region & click the orange “Create Server” button.
Select Service Managed:
Select Publicly Accessible:
Click Next on the next 2 steps.
Step 2 — Create IAM Role
Select Transfer as the trusted entity:
Attach S3 full access policy:
Finish creating the role.
Step 3 — Create Public Key
ssh-keygen at your terminal:
> ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/Users/harishkm/.ssh/id_rsa): ./id_rsa Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in ./id_rsa. Your public key has been saved in ./id_rsa.pub. The key fingerprint is: SHA256:VropNdOkjH4Cvp5GzHMuP+jGfh/lUBmUJlIwssTFpAo firstname.lastname@example.org The key's randomart image is: +---[RSA 3072]----+ | .o+=o..o. | | ..+o.. oo | |E o . o= | | . . o B | | .o. . S o | | .=o.o O | | o.=+ = . | | *o++ . | | **+.o. | +----[SHA256]-----+
Copy the contents of
Step 4 — Create SFTP User
Open the SFTP server, scroll down to the Users section & click Add User:
Provide username, select IAM role & S3 bucket, & paste the contents of
id_rsa.pub as the public key:
Step 5 — Test Connection
Copy the SFTP server endpoint & provide it to FileZilla along with the username & the private key:
You can now upload files to your SFTP server!