Vous pouvez utiliser ~/.ssh/config
pour spécifier les ports à utiliser pour les hôtes (et pour définir bien d'autres choses intéressantes; consultez la page de manuel man ssh_config
):
# ~/.ssh/config
Host 67.12.21.133
Port 6774
Host 67.129.242.40
Port 6774
Pour ce faire, vous devez utiliser l'option -3
scp, qui copie les fichiers via votre machine locale. Sinon, scp émet la commande scp via ssh sur le premier hôte, donc elle s'exécute
ssh -p 6774 denny@67.12.21.133 scp -rp /home/denny/testapp1.txt denny@67.129.242.40:
puis la configuration ~ / .ssh / du premier hôte distant (67.12.21.133) est utilisée à la place de votre hôte local.
Lorsque vous avez ~/.ssh/config
correctement configuré votre , cela devrait fonctionner:
scp -rp3 denny@67.12.21.133:/home/denny/testapp1.txt denny@67.129.242.40:
Bien sûr, vous pouvez également copier le contenu du fichier ~ / .ssh / config sur votre premier hôte distant, puis vous pouvez utiliser scp sans l' -3
option, ce qui accélérera probablement le transfert.
Ou vous pouvez utiliser l'astuce que scp utilise et utiliser une telle ligne de commande:
ssh -p 6774 denny@67.12.21.133 scp -rp -P 6774 /home/denny/testapp1.txt denny@67.129.242.40:
(Notez la casse différente du paramètre de port pour ssh et scp: ssh -p 6774
vs. scp -P 6774
)
PS: J'ai obtenu ces informations du bugzilla d'OpenSSH où je les ai entrées comme bug: https://bugzilla.mindrot.org/show_bug.cgi?id=2020