Puede usar ~/.ssh/config
para especificar los puertos que se usarán para los hosts (y para configurar muchas otras cosas buenas; consulte la página de manual man ssh_config
):
# ~/.ssh/config
Host 67.12.21.133
Port 6774
Host 67.129.242.40
Port 6774
Al hacer esto, debe usar la opción -3
scp, que copia los archivos a través de su máquina local. De lo contrario, scp emite el comando scp a través de ssh en el primer host, por lo que realmente se ejecuta
ssh -p 6774 denny@67.12.21.133 scp -rp /home/denny/testapp1.txt denny@67.129.242.40:
y luego se usa ~ / .ssh / config del primer host remoto (67.12.21.133) en lugar del local.
Cuando haya configurado ~/.ssh/config
correctamente, esto debería funcionar:
scp -rp3 denny@67.12.21.133:/home/denny/testapp1.txt denny@67.129.242.40:
Por supuesto, también puede copiar el contenido del archivo ~ / .ssh / config en su primer host remoto, y luego puede usar scp sin la -3
opción, lo que probablemente acelerará la transferencia.
O puede usar el truco que usa scp y usar dicha línea de comando:
ssh -p 6774 denny@67.12.21.133 scp -rp -P 6774 /home/denny/testapp1.txt denny@67.129.242.40:
(Tenga en cuenta el caso diferente del parámetro de puerto para ssh y scp: ssh -p 6774
vs. scp -P 6774
)
PD: Obtuve esta información del OpenSSH bugzilla donde ingresé esto como un error: https://bugzilla.mindrot.org/show_bug.cgi?id=2020