Ravindra BagaleCourses & study guides

Chapter 4: Linux Advanced Commands

4.11 Remote access: ssh and scp

ssh -i ~/keys/mykey.pem ec2-user@13.233.10.25              # log in
ssh -i ~/keys/mykey.pem ubuntu@13.233.10.25 'uptime'        # run one command remotely
scp -i ~/keys/mykey.pem index.html ec2-user@13.233.10.25:/home/ec2-user/        # upload file
scp -i ~/keys/mykey.pem -r ./site ubuntu@13.233.10.25:~/                        # upload folder
scp -i ~/keys/mykey.pem ec2-user@13.233.10.25:/var/log/nginx/error.log .        # download
rsync -avz -e "ssh -i ~/keys/mykey.pem" ./site/ ubuntu@13.233.10.25:~/site/     # smart sync

Save typing with an SSH config file ~/.ssh/config:

Host web1
    HostName 13.233.10.25
    User ec2-user
    IdentityFile ~/keys/mykey.pem

Now just type ssh web1 or scp file.txt web1:~/.