Data transfer with scp/sftp#

Prerequisite: OpenSSH#

scp (Secure copy) and sftp (Secure FTP) are part of the OpenSSH distribution.

See the page on generating keys.

Using scp#

How to copy a file?#

Files can be transferred with the scp, command, which is similar to the standard cp shell command to copy files. However, scp can copy to and from remote systems that runs an sshd daemon.

For example, to copy the (local) file local_file.txt to your home directory on the cluster (where <vsc-loginnode> is a loginnode), use:

$ scp local_file.txt <vsc-account>@<vsc-loginnode>:

Likewise, to copy the remote file remote_file.txt from your home directory on the cluster to your local computer, use:

$ scp <vsc-account>@<vsc-loginnode>:remote_file.txt .


The colon in the remote path is required!

Suppose you want to copy multiple files data_<id>.txt from the current working directory on your local system to a directory called inputs in your data directory on a VSC system, you can use globbing, just as you would for cp.

$ scp data_*.txt [email protected]:/data/leuven/500/vsc50005/inputs


Although it might be tempting to use the $VSC_DATA environment variable, this will not work. The variable will be expanded on your local system, where it is not defined, resulting in a copy to a directory inputs in your VSC home directory.

Copying directories#

Similar to cp copying a directory can be done using the -r flag, e.g.,

$ scp -r inputs/ [email protected]:/data/leuven/500/vsc50005/

This will copy the directory (and all of its contents) from your local system to your data directory on the VSC remote system.

Using sftp#

sftp is an equivalent of the ftp command, but it uses the secure SSH protocol to connect to the clusters.

One easy way of starting a sftp session is

$ sftp <vsc-account>@<vsc-loginnode>

You can now transfer files to and from the remote system <vsc-loginnode>`.

Some useful sftp commands are listed in the table below.




change directory



list directory content



copy file from



glob copy from