If Versa TAC requests you to provide one of the local files from your Director/VOS or any other Versa component, you can use SCP command to get those files to your local file system from which you can upload it to the file share service or to the requested by the TAC storage.
scp is an embedded command into the Mac OS or you can find analog applications such as WinSCP for Windows.
SCP (secure copy) is a command-line utility that allows you to securely copy files and directories between two locations.
With scp
, you can copy a file or directory:
- From your local system to a remote system.
- From a remote system to your local system.
- Between two remote systems from your local system.
When transferring data with scp
, both the files and password are encrypted so that anyone snooping on the traffic doesn’t get anything sensitive.
In this tutorial, we will show you how to use the scp
command through practical examples and detailed explanations of the most common scp options.
SCP Command Syntax
Before going into how to use the scp
command, let’s start by reviewing the basic syntax.
The scp
command syntax take the following form:
scp [OPTION] [user@]SRC_HOST:]file1 [user@]DEST_HOST:]file2
CopyOPTION
- scp options such as cipher, ssh configuration, ssh port, limit, recursive copy …etc.[user@]SRC_HOST:]file1
- Source file.[user@]DEST_HOST:]file2
- Destination file
Local files should be specified using an absolute or relative path, while remote file names should include a user and host specification.
scp
provides a number of options that control every aspect of its behavior. The most widely used options are:
-P
- Specifies the remote host ssh port.-p
- Preserves files modification and access times.-q
- Use this option if you want to suppress the progress meter and non-error messages.-C
- This option forcesscp
to compresses the data as it is sent to the destination machine.-r
- This option tellsscp
to copy directories recursively.
Before you Begin
The scp
command relies on ssh
for data transfer, so it requires an ssh key or password to authenticate on the remote systems.
The colon (:
) is how scp
distinguish between local and remote locations.
To be able to copy files, you must have at least read permissions on the source file and write permission on the target system.
Be careful when copying files that share the same name and location on both systems, scp
will overwrite files without warning.
When transferring large files, it is recommended to run the
command inside a screen or tmux session.scp
Copy Files and Directories Between Two Systems with scp
scp
Copy a Local File to a Remote System with the scp
Command
To copy a file from a local to a remote system run the following command:
scp file.txt remote_username@10.10.0.2:/remote/directory
Copy
Where file.txt
is the name of the file we want to copy, remote_username
is the user on the remote server, 10.10.0.2
is the server IP address. The /remote/directory
is the path to the directory you want to copy the file to. If you don’t specify a remote directory, the file will be copied to the remote user home directory.
You will be prompted to enter the user password, and the transfer process will start.
remote_username@10.10.0.2's password:
file.txt 100% 0 0.0KB/s 00:00
Copy
Omitting the filename from the destination location copies the file with the original name. If you want to save the file under a different name, you need to specify the new file name:
scp file.txt remote_username@10.10.0.2:/remote/directory/newfilename.txt
Copy
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 file.txt remote_username@10.10.0.2:/remote/directory
Copy
The command to copy a directory is much like as when copying files. The only difference is that you need to use the -r
flag for recursive.
To copy a directory from a local to remote system, use the -r
option:
scp -r /local/directory remote_username@10.10.0.2:/remote/directory
Copy
Copy a Remote File to a Local System using the scp
Command
To copy a file from a remote to a local system, use the remote location as a source and local location as the destination.
For example to copy a file named file.txt
from a remote server with IP 10.10.0.2
run the following command:
scp remote_username@10.10.0.2:/remote/file.txt /local/directory
Copy
If you haven’t set a passwordless SSH login to the remote machine, you will be asked to enter the user password.
Material partially sourced from the: https://linuxize.com/post/how-to-use-scp-command-to-securely-transfer-files/