How can I use scp command to copy files between two remote servers from my local PC ?
remote server 1 : IP=67.12.21.133 & port=6774
remote server 2 : IP=67.129.242.40 & port=6774
scp -rp -P 6774 denny@67.12.21.133:/home/denny/testapp1.txt denny@67.129.242.40:
It gives an error after giving password of 67.12.21.133 ,
ssh: connect to host 67.129.242.40 port 22: Connection refused
lost connection
Best Answer
You can use
~/.ssh/config
to specify the ports to use for the hosts (and for setting many other nice things; check the man pageman ssh_config
):When doing this, you have to use the option
-3
to scp, which copies the files through your local machine. Otherwise, scp issues the scp command via ssh on the first host, so it actually runsand then the ~/.ssh/config of the first remote host (67.12.21.133) is used instead of your local one.
When you have setup your
~/.ssh/config
correctly, this should work:Of course, you can also copy the contents of the ~/.ssh/config file onto your first remote host, and then you can use scp without the
-3
option, which will probably speeden up the transfer.Or you can use the trick that scp uses and use such a command line:
(Note the different case of the port parameter for ssh and scp:
ssh -p 6774
vs.scp -P 6774
)PS: I got this information from the OpenSSH bugzilla where I entered this as a bug: https://bugzilla.mindrot.org/show_bug.cgi?id=2020