I am trying to copy file from my server to another so I am using the following command:
scp root@myhost /home/direc/file.tar username@secondhost:/home/dir
I am getting the error:
ssh: connect to host secondhost port 22 connection timed out
I know it might be because port 22 is not open on second host
so How do I transfer by specifying port 21 on my second host
Try
Where -P stands for port number.
Two flaws I see in your attempt and the response.
1) scp is a secure shell (ssh) utility for securely copying files between hosts. It uses ssh for data transfer and uses the same authentication and provides the same security as ssh (see scp manpage). By default, ssh uses port 22. So unless you changed the default port number for ssh on the destination server to 21, or you have not installed and started the ssh server (sshd) on the receiving server, you can not use scp to copy files.
2) The proper command line from your example should be:
The first
root@myhost
is not necessary and will in fact attempt to copy a file namedroot@myhost
(that most likely does not exist) and file.tar to the destination server. You most likely will receive the message: