Ubuntu – SCP with two different ports


How can I use scp command to copy files between two remote servers from my local PC ?

remote server 1 : IP= & port=6774

remote server 2 : IP= & port=6774

scp -rp -P 6774 denny@ denny@

It gives an error after giving password of ,

ssh: connect to host 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 page man ssh_config):

# ~/.ssh/config

  Port 6774

  Port 6774

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 runs

 ssh -p 6774 denny@ scp -rp /home/denny/testapp1.txt denny@

and then the ~/.ssh/config of the first remote host ( is used instead of your local one.

When you have setup your ~/.ssh/config correctly, this should work:

scp -rp3 denny@ denny@

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:

ssh -p 6774 denny@ scp -rp -P 6774 /home/denny/testapp1.txt denny@

(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