I would like to show you how you can copy (using SCP) a virtual machine from one ESXi host to another ESXi host without using a vCenter.
Login to both ESXi hosts that you are copying from and copying to and make sure SSH is enabled by following the setups below.
Check under Configuration Tab of the host > Security Profile > Services > Click Properties and check SSH is running if not start
If SSH is Stopped, click Options
Select “Start and stop manually” and hit Start.
Under Firewall check SSH Server Client is checked.
Make sure this is done on both the host.
Now you can ssh into the esxi host 1 that has the VM that needs to be transferred. Lets give that host ip 1.1.1.1 and the Host 2 that’s going to receive the file will be 2.2.2.2.
You can SSH into the host 1 using putty(win) or terminal (mac)
#ssh root@1.1.1.1
The authenticity of host '1.1.1.1 (1.1.1.1)' can't be established. RSA key fingerprint is b2:d6:00:34:aa:cc:62:95:8f:d7:f3:1d:59:1e:c3:54. Are you sure you want to continue connecting (yes/no)? yes <------ Say yes
then it will prompt for Password: so enter that.
Do a ping test from host 1 to host 2
~ # ping 2.2.2.2
If it’s pinging that it looks good. I am not sure but In some cases the ping might be blocked.
Start transfering folder
nohup scp -rv /vmfs/volumes/data-store1/vm-folder-name root@2.2.2.2:/vmfs/volumes/data-store2/
For Multiple VMs (Folders)
First change directory to the Datastore folder
cd /vmfs/volumes/data-store1/
Then it’s better to enter multiple VMs leave just a single space between the VM folder name. No quotes or commas.
nohup scp -rv vm-folder-1 vm-folder-2 root@2.2.2.2:/vmfs/volumes/data-store2/
Now you will be prompted for “host 2” password. enter that and the file transfer will start. The flags used here are -rv, where r is for folder tranfer and v for verbos to watch the progress.
Note: I added nohup before scp, this will allow the command to run in background even if you close Terminal/Putty window.