Skip to content

Instantly share code, notes, and snippets.

@lukeplausin
Last active April 29, 2024 18:34
Show Gist options
  • Star 25 You must be signed in to star a gist
  • Fork 8 You must be signed in to fork a gist
  • Save lukeplausin/4b412d83fb1246b0bed6507b5083b3a7 to your computer and use it in GitHub Desktop.
Save lukeplausin/4b412d83fb1246b0bed6507b5083b3a7 to your computer and use it in GitHub Desktop.
Transfer a file to EC2 SSM instance without using S3 (SSM only)
# This script will explain how to transfer a file to EC2 using SSM ONLY!
# You will need to have permission to run SSM commands on the target machine and have sudo access as well
# Infos
INSTANCE_ID=i-1234567890
FILE_NAME=the_file.tar.gz
# Step 1: Run command on machine to install netcat and dump from port to filename
# < Start session
aws ssm start-session --target $INSTANCE_ID --document-name
# < (On target machine) :
cd && sudo yum install nc -y && sudo nc -l -p 1234 > the_file.tar.gz
# Step 2: On another shell, open a port-forwarding session from your machine to the target machine
aws ssm start-session --target $INSTANCE_ID --document-name AWS-StartPortForwardingSession --parameters '{"portNumber":["1234"],"localPortNumber":["1234"]}'
# Step 3: On yet another shell, cat the source file into the transfer port on localhost over the tunnel
nc -w 3 127.0.0.1 1234 < the_file.tar.gz
# Step 4: Once the command in step 3 finishes, close all of the other shell sessions. Your file should be on the target now.
@ritwik-g
Copy link

This was really useful. Thanks for publishing

@johnp789
Copy link

That's handy! I had to remove the --document-name on the first start-session call.

@pWoLiAn
Copy link

pWoLiAn commented Apr 2, 2024

similarly, have you tried copying a file from ec2 to your local machine without using s3

@toliadobe
Copy link

Extremely helpful! Thank you for sharing.

@bdalli
Copy link

bdalli commented Apr 29, 2024

Very helpful, thank you Luke ..

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment