Dcp - Tool to Securely Transfer Files Between Linux Computers

DCP tool securely transfer files linux

Transfer files remotely has for a long time been a reserve of rsync and SCP  protocols. In this article, we will take a look at how you can transfer files between Linux computers using dcp tool. dcp tool is a handy tool that copies files between host machines in a network using the DAT network. In this guide, we will try to remotely copy files between two Ubuntu/Debian Systems.

System SetUp

We are going to demonstrate the remote copying of files using two Debian hosts:

  1.  Host A -  IP  ( This system will host  files to be sent remotely to another host system)
  2.  Host B - IP (This will be the System where files will be transferred/copied to)

How dcp works

Dcp tool creates a dat archive for a specified group of files or directories. Using a generated public key, dcp allows you to download the said archive from the second host system. Data shared over the network is encrypted using the archive's public key, so you don't need to worry about the security of your data. Data will only be limited to those who have access to the key.

Software Prerequisites

To successfully install the dcp tool, the following software packages are required on both host systems

  • NodeJS
  • NPM

Installing NodeJS

To install NodeJS, we are going to add Node.js PPA to our host machines. The PPA is provided by the Official Nodejs website. In addition, we are going to install the software-properties-common package.

Log in to each of the systems and follow  the steps below

Install software-properties-common package

Run the command below

# sudo apt-get install curl software-properties-common

Sample Output

remotely copy files using dcp

Next, Add the required PPA file to allow you to install Node.JS

Run the command below to add PPA

# curl -sL https://deb.nodesource.com/setup_11.x | sudo bash -

Finally, let's install the Node.JS package which will also come with NPM

Install Node.JS package

# sudo apt-get install -y nodejs

Sample Output

Verifying installation of Node.JS and NPM

To verify installation of Node.JS

# node -v

To verify installation of NPM

# npm -v

Now that we have our software prerequisites, let's proceed and install dcp

Install dcp tool

To install the dcp tool run

npm i -g dat-cp

Sample output

To verify that all went OK, let's check out the version of the dcp tool

dcp --version


dcp -V



Great! Let's create a few files on our source system and try and send them over the network to the second host.

# touch file1.txt file2.txt file3.txt

How to remotely transfer/copy files

To remotely copy the files to another host ,  run the following command

dcp file1.txt file2.txt file3.txt

This will generate a public key at the bottom as shown in cyan color.

Copy the key and paste it on the remote server as shown

Congratulations! You have successfully copied files from one host to another using the dcp tool.

To find more information about the tool's usage run

dcp --help


dcp -h

That's it for today guys. I hope you found this guide helpful. Feel free to comment and share. Thanks!

Read Also:

Winnie Ondara 12:05 am

About Winnie Ondara

I’m Winnie, a passionate Linux administrator and an open source enthusiast. I enjoy keeping myself up to date with the latest in the Linux world and trying out the latest tools, features and services in the FOSS community.

Author's All Posts
Like to become part of Linoxide Team and contribute tips? Contact us here.


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

All comments are subject to moderation.