Linux How To Clone One System Harddrive to another remote system

The easiest way is to use SSH and DD or a combination of netcat.  SSH will be a little slower due to encryption but is the most secure way (on two older systems the average clone speed is about 40-50MB/s).  This is also OS independent as it doesn't matter what the source OS is because you are literallly cloning the drive so you retain the partition table and settings.


 

Clone HDD using SSH and DD

dd if=/dev/sourcedrive | ssh user@yourhostname.com "dd of=/dev/destinationdrive"

However especially in Linux you'll want to do a fsck on all partitions on the remote drive or it probably won't boot because the filesystem recognizes the partitions are not right due to the different drive sizes. More info here.

Note you will need to use sudo or root on both systems.  I also like to use a live CD/USB/Network on the remote system so that the operation can completely cleanly (especially helpful if that would be the only disk device on the remote system).

 


 

 

Clone HDD using netcat (nc)

 

This is the faster but less secure way someone could accidentally or maliciously send random/wrong data to the remote nc causing corruption.  There is of course the risk of eavesdropping where an attacker could essentially have a copy of your cloned hard drive too.

First setup the remote server.

Remote Server Setup

nc -l 29000|dd of=/dev/destinationdrive

This tells nc to listen on port 29000 and write the data to /dev/destinationdrive

Now we are ready to push the source drive from the source server.

Source Server

dd if=/dev/sourcedrive| nc remoteserver 29000

This tells dd to take data from /dev/sourcedrive and send it to an nc server at remoteserver on port 29000


Tags:

linux, clone, harddrive, systemthe, easiest, ssh, dd, netcat, slower, encryption, mb, os, doesn, literallly, cloning, retain, partition, settings, hdd, dev, sourcedrive, user, yourhostname, quot, destinationdrive, ll, fsck, partitions, filesystem, recognizes, sizes, info, sudo, usb, cleanly, disk, nc, maliciously, corruption, eavesdropping, attacker, essentially, cloned, server, remoteserver,

Latest Articles

  • Grandstream Phone Vulnerability Security Issue Remote Backdoor Connection to 207.246.119.209:3478
  • Linux How to Check Which NIC is Onboard eth0 or eth1 Ubuntu Centos Debian Mint
  • VboxManage VirtualBox NAT Network Issues Managment Troubleshooting
  • Dell PowerEdge Server iDRAC Remote KVM/IP Default Username, Password Reset and Login Information Solution
  • Nvidia Tesla GPUs K40/K80/M40/P40/P100/V100 at home/desktop hacking, cooling, powering, cable solutions Tutorial AIO Solutions
  • Stop ls in Linux Debian Mint CentOS Ubuntu from applying quotes around filenames and directory names
  • Thunderbird Attachment Download Error Corrupt Wrong filesize of 29 or 27 bytes Solution
  • Generic IP Camera LAN Default IP Settings DVR
  • Ubuntu Debian Mint Linux How To Update Initramfs Manually update-initramfs
  • Enable Turbo Mode for CPU Ubuntu Linux Mint Debian Redhat
  • docker / kubernetes breaks Proxmox QEMU KVM Bridge VMs
  • How To Change Storage Location in Docker.io
  • RTL8812BU and RTL8822BU Linux Driver Ubuntu Setup Archer T3U Plus
  • Kazam video blank/high size and not working when recording solution
  • Cisco UC CME How To Enable Licensed Features
  • from pip._internal.cli.main import main File "/usr/local/lib/python3.5/dist-packages/pip/_internal/cli/main.py", line 60 sys.stderr.write(f"ERROR: {exc}") from pip._internal.cli.main import main File "/usr/local/lib/python3.5/dist-packag
  • ModuleNotFoundError: No module named 'pip._internal' solution python
  • grub blank screen how to manually boot kernel and initrd Linux Ubuntu Debian Centos won't boot solution
  • Cisco Switch / Router How To Restore Factory Default Settings
  • Cisco 2900 3900 Router Password Reset How To Reset Enable Password