SCP = Secure Copy Protocol. What is it and why is it important? SCP provides a secure way to transfer files from one computer to another.
For the project that I'm working on, I needed to SCP (send a copy) the XML files, as well as the image files, from my computer to my EC2 Instance (my web server). Once done, my teacher was be able to view my work via my website.
Here are the steps to do this:
1. Open two command windows (the program for my computer is called Terminal).
2. Let's say the file I want to send is called "SallysFirstDate.xml" and it is located in the "tomy" folder. Here is where that file lives:
/Documents/path/tomy/SallysFirstDate.xml
I need to first issue the command to "change directory"(cd) through each folder until I reach the folder that my file is located in. It would look like this:
cd /Documents
THEN I need to "cd" again into the "path" folder:
cd path
THEN I need to "cd" again into the "tomy" folder:
cd tomy
NOW, I am ready to SCP my file to my EC2 Instance.
3. Because I need to send out my private EC2 Instance Key along with my SCP command, I will use the second terminal window I have open to ssh into my EC2 Instance. That way I can check to make sure my file was SCP'd correctly. You don't have to do this, but I like to as an added check.
4. I need to send out my private EC2 Instance Key along with my SCP command. That command looks like this:
scp -i ~/Documents/path/tomy/Key.pem SallysFirstDate.xml ec2-user@wouldntyouliketoknow.com:/var/www/html/SallysFirstDate.xml
******************************** NOTE *******************************************
scp = The command stating what I want to do
-i ~/Documents/path/tomy/Key.pem = This would be where my private ec2 Key is located on my computer
SallysFirstDate.xml = This is the name of the file I want to scp into the docroot of my EC2 Instance
ec2-user@wouldntyouliketoknow.com:/var/www/html/SallysFirstDate.xml = This is called the "whither". It consists of three parts. Part 1 is the "ec2-user". This is the account on the EC2 Instance. It was automatically created when I created my private server with AWS. Part 2 consists of the domain name or IP of the server I am connecting to. In this case it is the domain name "wouldntyouliketoknow.com". Part 3 "/var/www/html/SallysFirstDate.xml". This is the path on that destination server I am copying and placing it to.
*********************************************************************************
Then hit return.
If I see this response:
SallysFirstDate.xml 100% 67KB 118.7KB/s 00:00
that will mean that I successfully SCP'd my file to my web server. Since the destination directory is in my webserver's docroot, it can also be viewed in a browser.
When I first did this for my project, I didn't think I did it correctly. What I needed to do in order to view it, was copy and past my file after my domain name (remember to put a whack after the .com before entering the file name you want to view).
If you want to view the first photo of my actual project that I've been working on, please click my link below. It will take you to the FIRST photo I was able to successfully SCP all by myself.....with no cheating.....and no help! 😆
http://irontreedev.com/boy-feeds-dog-and-dogs.png
For the project that I'm working on, I needed to SCP (send a copy) the XML files, as well as the image files, from my computer to my EC2 Instance (my web server). Once done, my teacher was be able to view my work via my website.
Here are the steps to do this:
1. Open two command windows (the program for my computer is called Terminal).
2. Let's say the file I want to send is called "SallysFirstDate.xml" and it is located in the "tomy" folder. Here is where that file lives:
/Documents/path/tomy/SallysFirstDate.xml
I need to first issue the command to "change directory"(cd) through each folder until I reach the folder that my file is located in. It would look like this:
cd /Documents
THEN I need to "cd" again into the "path" folder:
cd path
THEN I need to "cd" again into the "tomy" folder:
cd tomy
NOW, I am ready to SCP my file to my EC2 Instance.
3. Because I need to send out my private EC2 Instance Key along with my SCP command, I will use the second terminal window I have open to ssh into my EC2 Instance. That way I can check to make sure my file was SCP'd correctly. You don't have to do this, but I like to as an added check.
4. I need to send out my private EC2 Instance Key along with my SCP command. That command looks like this:
scp -i ~/Documents/path/tomy/Key.pem SallysFirstDate.xml ec2-user@wouldntyouliketoknow.com:/var/www/html/SallysFirstDate.xml
Click the above photo to enlarge. Notice the spaces after scp, -i, .pem, and the file name. DON'T forget to include the spaces or your SCP command will not work. |
******************************** NOTE *******************************************
scp = The command stating what I want to do
-i ~/Documents/path/tomy/Key.pem = This would be where my private ec2 Key is located on my computer
SallysFirstDate.xml = This is the name of the file I want to scp into the docroot of my EC2 Instance
ec2-user@wouldntyouliketoknow.com:/var/www/html/SallysFirstDate.xml = This is called the "whither". It consists of three parts. Part 1 is the "ec2-user". This is the account on the EC2 Instance. It was automatically created when I created my private server with AWS. Part 2 consists of the domain name or IP of the server I am connecting to. In this case it is the domain name "wouldntyouliketoknow.com". Part 3 "/var/www/html/SallysFirstDate.xml". This is the path on that destination server I am copying and placing it to.
*********************************************************************************
Then hit return.
If I see this response:
SallysFirstDate.xml 100% 67KB 118.7KB/s 00:00
that will mean that I successfully SCP'd my file to my web server. Since the destination directory is in my webserver's docroot, it can also be viewed in a browser.
When I first did this for my project, I didn't think I did it correctly. What I needed to do in order to view it, was copy and past my file after my domain name (remember to put a whack after the .com before entering the file name you want to view).
If you want to view the first photo of my actual project that I've been working on, please click my link below. It will take you to the FIRST photo I was able to successfully SCP all by myself.....with no cheating.....and no help! 😆
http://irontreedev.com/boy-feeds-dog-and-dogs.png
Follow me as I learn to build my website bit by bit! IronTreeDev.com
this is a great explanation!
ReplyDeletehow about some color on the scp command to draw out the parts?
also
protip:
if your file is in /Documents/path/tomy/SallysFirstDate.xml
and you are in the root directory,
sure you can issue 3 separate cd commands (many people do)
but if you feel like it you can also just type one cd command:
cd /Documents/path/tomy
I need to remember this..... I keep doing individual cd's to get to the file I want.
DeleteLove this.....you are inspiring me to get back into web design. I made a personal/portfolio website in my multimedia class, but never published it to the world wide web, time to add it to the to do list!
ReplyDeleteOh YES....... That's awesome HB! Let me know when you have that done so I can see it. You should get back into design. You are GREAT at it and more importantly, you love it! :-)
DeleteHey....we can speak XML to each other now.
Delete