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
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 [email protected] scp -rp /home/denny/testapp1.txt [email protected]:
and then the ~/.ssh/config of the first remote host (18.104.22.168) is used instead of your local one.
When you have setup your
~/.ssh/config correctly, this should work:
scp -rp3 d[email protected]:/home/denny/testapp1.txt [email protected]:
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 [email protected] scp -rp -P 6774 /home/denny/testapp1.txt [email protected]:
(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