A Guide to SCP: Secure File Transfer on Ubuntu

This article explains using the SCP (secure copy) on Ubuntu Linux.

SCP (secure copy) is a command-line utility that securely copies files and directories between two networked devices. It transfers files over a network from one computer to another using the SSH protocol.

It uses the SSH protocol for authentication and encryption, making it a secure way to transfer files over a network.

When you want to transfer files securely over an insecure network, it’s recommended that you use SCP to protect sensitive information.

Below are some examples of how to use the SCP command on Ubuntu Linux.

SCP command examples

Before using the scp command, you should understand its basic syntax.

The scp command syntax uses the following format:

scp [OPTION] [user@]SRC_HOST:]file1 [user@]DEST_HOST:]file2
  • OPTION – scp options that specify cipher, SSH configuration, SSH port, limit, recursive copy, etc.
  • [user@]SRC_HOST:]file1 – path to the source file.
  • [user@]DEST_HOST:]:file2 – path to the destination file.

Local files can be specified using an absolute or relative path, while remote file names must include a user and host specification.

The most commonly used options for the SCP command are:

  • -P – Specifies the remote host ssh port.
  • -p – Preserves file modification and access times.
  • -q – Use this option to suppress the progress meter and non-error messages.
  • -C – This option forces scp to compress the data as it is sent to the destination machine.
  • -r – This option tells scp you to copy directories recursively.

Transferring files

To transfer a file from the local machine to a remote machine, use the following command:

scp [options] /path/to/local/file username@remote:/path/to/destination

For example, to transfer a file named `example.txt` from the local machine to a remote machine with the IP address `192.168.0.2`, use the following command:

scp example.txt username@192.168.0.2:/home/username/

To transfer a file from a remote machine to the local machine, use the following command:

scp [options] username@remote:/path/to/file /path/to/destination

For example, to transfer a file named `example.txt` from a remote machine with the IP address `192.168.0.2` to the local machine, use the following command:

scp username@192.168.0.2:/home/username/example.txt /home/localuser/

If you want to save the file under a different name, specify the new file name at the destination. If SSH on the remote host is listening on a port other than the default 22, then you can specify the port using the -P argument:

scp -P 2322 example.txt username@192.168.0.2:/home/username/newName.txt

Transferring directories

To transfer a directory from the local machine to a remote machine, use the following command:

scp [options] -r /path/to/local/directory username@remote:/path/to/destination

For example, to transfer a directory named `example` from the local machine to a remote machine with the IP address `192.168.0.2`, use the following command:

scp -r example/ username@192.168.0.2:/home/username/

To transfer a directory from a remote machine to the local machine, use the following command:

scp [options] -r username@remote:/path/to/directory /path/to/destination

For example, to transfer a directory named `example` from a remote machine with the IP address `192.168.0.2` to the local machine, use the following command:

scp -r username@192.168.0.2:/home/username/example/ /home/localuser/

That should do it!

Conclusion:

  • Using the SSH protocol, SCP (secure copy) is an essential command-line utility for securely transferring files and directories between networked devices.
  • It provides a secure way to transfer files over a network and is particularly useful for protecting sensitive information on insecure networks.
  • Understanding the SCP command’s basic syntax and commonly used options is crucial for efficient usage.
  • The examples demonstrate transferring files and directories between local and remote machines using SCP on Ubuntu Linux.

Frequently Asked Questions

What is SCP and how does it work on Ubuntu?

SCP (secure copy) is a command-line utility that securely transfers files and directories between networked devices using the SSH protocol. It provides both authentication and encryption, making it a safe way to transfer files over insecure networks while protecting sensitive information.

How do I copy a file from my local Ubuntu machine to a remote server?

Use the command: scp /path/to/local/file username@remote_ip:/path/to/destination. For example, scp example.txt username@192.168.0.2:/home/username/ will transfer the file to the remote machine at the specified location.

What does the -r option do in the SCP command?

The -r option tells SCP to copy directories recursively, meaning it will copy the entire directory and all its contents. This is essential when you need to transfer folders rather than individual files.

How do I transfer files using a non-standard SSH port with SCP?

Use the -P option (capital P) followed by the port number. For example: scp -P 2322 example.txt username@192.168.0.2:/home/username/ will transfer the file using SSH port 2322 instead of the default port 22.

Can I download a file from a remote server to my local Ubuntu machine using SCP?

Yes, use the command: scp username@remote_ip:/path/to/file /path/to/local/destination. For example, scp username@192.168.0.2:/home/username/example.txt /home/localuser/ will download the file from the remote server to your local machine.

Categories:

Leave a Reply

Your email address will not be published. Required fields are marked *

Exit mobile version