Puoi usare ~/.ssh/config
per specificare le porte da usare per gli host (e per impostare molte altre cose carine; controlla la pagina man man ssh_config
):
# ~/.ssh/config
Host 67.12.21.133
Port 6774
Host 67.129.242.40
Port 6774
Quando lo fai, devi usare l'opzione -3
per scp, che copia i file attraverso il tuo computer locale. Altrimenti, scp invia il comando scp tramite ssh sul primo host, quindi viene effettivamente eseguito
ssh -p 6774 denny@67.12.21.133 scp -rp /home/denny/testapp1.txt denny@67.129.242.40:
e quindi viene usato ~ / .ssh / config del primo host remoto (67.12.21.133) invece di quello locale.
Quando hai impostato ~/.ssh/config
correttamente, questo dovrebbe funzionare:
scp -rp3 denny@67.12.21.133:/home/denny/testapp1.txt denny@67.129.242.40:
Ovviamente, puoi anche copiare il contenuto del file ~ / .ssh / config sul tuo primo host remoto, e quindi puoi usare scp senza l' -3
opzione, che probabilmente accelererà il trasferimento.
Oppure puoi usare il trucco che scp usa e usare una tale riga di comando:
ssh -p 6774 denny@67.12.21.133 scp -rp -P 6774 /home/denny/testapp1.txt denny@67.129.242.40:
(Notare il diverso caso del parametro port per ssh e scp: ssh -p 6774
vs. scp -P 6774
)
PS: Ho ricevuto queste informazioni dal bugzilla di OpenSSH dove l'ho inserito come bug: https://bugzilla.mindrot.org/show_bug.cgi?id=2020