Skip to content

Contact sales

By filling out this form and clicking submit, you acknowledge our privacy policy.
  • Labs icon Lab
  • A Cloud Guru
Google Cloud Platform icon

Transfer Files Securely Over the Network

Among a system administrator's duties is having to transfer files between systems. But sending files across a network can be a security problem, so we need to encrypt things using the tools available with SSH in order to keep our data safe while it's in transit. This activity will get us familiar with secure file transfers using SSH-based tools, like `scp` and `rsync`. Once this activity is complete, we'll know when to copy files or to synchronize them, and understand the difference between "pushing" and "pulling" file transfers over the network securely.

Google Cloud Platform icon

Path Info

Clock icon Intermediate
Clock icon 15m
Clock icon Jan 17, 2020

Contact sales

By filling out this form and clicking submit, you acknowledge our privacy policy.

Table of Contents

  1. Challenge

    Recursively List the opt Directory on server1 and server2

    Once we're logged in, let's take a look at the directories we've got to work with:

    Use ls -lR /opt/ locally on server1, and then execute it remotely on server2 with ssh:

    ls -lR /opt
    ssh server2 ls -lR /opt
  2. Challenge

    Securely Copy the /opt/myapp Directory from server1 to the /opt Directory on server2

    Now let's use scp to recursively copy /opt/myapp on server1 into /opt on server2. The -r option makes it recursive, and -p makes it preserve time stamps and permissions. Since we should be logged into server1, we can omit the host portion of the source directory:

    scp -rp /opt/myapp server2:/opt
  3. Challenge

    Synchronize the /opt/myapi Directory from server2 with server1

    We can use the rsync command to pull the /opt/myapi directory on server2 into /opt on server1:

    rsync -aP server2:/opt/myapi /opt
  4. Challenge

    Verify That the /opt/myapp and /opt/myapi Directories Are the Same on server1 and server2

    To make sure everything is in sync, we can run ls -lR /opt/ locally on server1 and execute it remotely on server2 with an ssh command. Then we can use the rsync command to verify that the content, time stamps, and permissions are the same:

    ls -lR /opt
    ssh server2 ls -lR /opt
    rsync -naP /opt/ server2:/opt

The Cloud Content team comprises subject matter experts hyper focused on services offered by the leading cloud vendors (AWS, GCP, and Azure), as well as cloud-related technologies such as Linux and DevOps. The team is thrilled to share their knowledge to help you build modern tech solutions from the ground up, secure and optimize your environments, and so much more!

What's a lab?

Hands-on Labs are real environments created by industry experts to help you learn. These environments help you gain knowledge and experience, practice without compromising your system, test without risk, destroy without fear, and let you learn from your mistakes. Hands-on Labs: practice your skills before delivering in the real world.

Provided environment for hands-on practice

We will provide the credentials and environment necessary for you to practice right within your browser.

Guided walkthrough

Follow along with the author’s guided walkthrough and build something new in your provided environment!

Did you know?

On average, you retain 75% more of your learning if you get time for practice.

Start learning by doing today

View Plans