Skip to main content

SCP: Secure Copy Protocol

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


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






Comments

  1. this is a great explanation!
    how 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

    ReplyDelete
    Replies
    1. I need to remember this..... I keep doing individual cd's to get to the file I want.

      Delete
  2. Love 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!

    ReplyDelete
    Replies
    1. Oh 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! :-)

      Delete
    2. Hey....we can speak XML to each other now.

      Delete

Post a Comment

Popular posts from this blog

XPATH and XPATH Expressions In XMLLINT

XPATH And XPATH Expressions Earlier, I told you about xmllint and xmllint for html files .  Let's say you just want to parse the <span> tags within your html file or just your <span lang="el"> tags? Enter:  Xpath. Xpath is yet another option available within the xmllint language. Remember, an Xpath is used to navigate through elements and attributes in xml and html documents.  Xpath uses Xpath Expressions to select nodes or node sets within a document. Example 1 .  Looking for all of the <span> tags within an html document. xmllint -- html -- xpath " // span" StedmanLesson10.html xmllint = This tells the command line that we are going to be using the xmllint language. space = because we always have space in between commands -- = Remember, these are the two hyphen-minus characters that we need to tell the command line that we are going to use an xmllint option. html = This is the xmllint option we want to

Back To The Basics

Click photo above to see photo clearly  It's Been A LOOONG Minute since I have coded!!   Even so, I decided to give JavaScript another try.  I always seem to do good and then when I get to this one area, I always seem to hit a brick wall.  Well....nothing like getting back up and trying again right?   I decided to try Rithm School's online JavaScript Fundamentals FREE course .  I have never joined their school but their free courses tend to explain things in a way my brain understands it.  💁 To let you know how much I have forgotten in the coding world, I couldn't even remember how to write the basic commands for an HTML document! Yesterday I started the fundamentals free course and I am so glad that I did.  Because of time, I only made it through the JavaScript History and Setup chapter, but that chapter was enough to get my memory flowing again!   It started to feel familiar and I quickly remembered why I enjoyed coding so much.  Yesterday and this morning, I just erased

GIT Commands: Pull, Add, Commit, Push.....and sometimes Revert

Pull, Add, Commit, Push ...... then Repeat We talked about GIT, GIT Hub , and the three different areas GIT works in.  Now it is time to talk about some of the most used GIT commands.   I am currently working with a team on a project called Stedman.  We are all using the GIT Hub server to track our work as we make changes to the files within the Stedman project.   Many changes can be made by other members of the team, from the time I sign off to the time I sign back on.  How do I get the changes they made to a file I need to work on, onto my computer? ENTER GIT COMMANDS : 1.  The first thing I do is goto my command window on my computer and navigate to the directory where the file I want to work in is located (this will be a directory that is being tracked by GIT).   *If you need a quick refresher:  cd file_name   will take you through each of your directories until you reach your desired location.  Issuing an  ls   command will list the files (sub-di