scp is the command-line tool included with the OpenSSH suite of tools, it is designed to securely transfer files to and from remote hosts.


If you add the following to ~/.ssh/config your files will be compressed in-transit which will reduce the amount of data which is required to transfer

Host *
    Compression      yes
    CompressionLevel 4

Cipher Choices

ssh and scp both support a large number of ciphers, which are used to encrypt your content over the network. You can see the ciphers enabled in your copy of OpenSSH by running "man ssh_config".

For my personal Debian GNU/Linux machine I see the following ciphers are supported:

To choose a particular cipher run:

$ ssh -o Cipher=arcfour [email protected]


scp -o Cipher=arcfour local-file [email protected]:

The different ciphers have different performance characteristics, and you can test the timings if you have a large file named test.img by repeatedly copying the file to a remote host using a different cipher each time:

$ for i in aes128-cbc arcfour ; do time scp -o Cipher=$1 test.img [email protected]: ; done

For my personal systems the following were rough timings:

So for my particular setup it seems that arcfour is the fastest cipher to choose. (For reference disabling compression increased the time to transfer my sample file to over 30 minutes!)