Secure File Transfer with scp in Linux
Summary
The scp
command provides a secure way to copy files and directories between a local and remote system, or between two remote systems.
Introduction
The scp
(Secure Copy) command is a powerful tool in Linux for securely transferring files and directories over a network. It utilizes SSH (Secure Shell) for encryption, ensuring that your data remains protected during transmission. This post will cover the basic usage and common flags of scp
.
scp
(Secure Copy):- Purpose: Securely copies files and directories between hosts.
- Basic Usage:
scp [options] source destination
Use Cases and Examples
Use Cases and Examples
Copying a local file to a remote server
This command copieslocalfile.txt
to the /remote/directory/
on remote_host
as the user user
. Copying a remote file to a local machine
This command copiesremotefile.txt
from the remote server to the /local/directory/
on your local machine. Copying a local directory to a remote server recursively
The-r
flag copies the entire local_directory
and its contents recursively. Copying a file from one remote server to another remote server
This copies file.txt from remote_host1 to remote_host2. You may be prompted for passwords on both remote servers.Most Used Flags
Flag | Description | Example |
---|---|---|
-r | Recursive copy (for directories). | scp -r local_dir user@remote:/remote/dir/ |
-P | Specifies the SSH port number. | scp -P 2222 file.txt user@remote:/remote/dir/ |
-p | Preserves modification times, access times, and modes from the original file. | scp -p file.txt user@remote:/remote/dir/ |
-q | Quiet mode (suppresses progress indicators and warning messages). | scp -q file.txt user@remote:/remote/dir/ |
-C | Enables compression. | scp -C file.txt user@remote:/remote/dir/ |
-i | Specifies the identity file (private key). | scp -i /path/to/private_key file.txt user@remote:/remote/dir/ |