Mit können Sie ~/.ssh/config
die Ports angeben, die für die Hosts verwendet werden sollen (und um viele andere nützliche Dinge einzustellen; lesen Sie die Manpage man ssh_config
):
# ~/.ssh/config
Host 67.12.21.133
Port 6774
Host 67.129.242.40
Port 6774
Dabei müssen Sie die Option -3
scp verwenden, mit der die Dateien über Ihren lokalen Computer kopiert werden. Andernfalls gibt scp den Befehl scp über ssh auf dem ersten Host aus, sodass er tatsächlich ausgeführt wird
ssh -p 6774 denny@67.12.21.133 scp -rp /home/denny/testapp1.txt denny@67.129.242.40:
und dann wird das ~ / .ssh / config des ersten entfernten Hosts (67.12.21.133) anstelle Ihres lokalen verwendet.
Wenn Sie Ihr ~/.ssh/config
richtig eingerichtet haben, sollte dies funktionieren:
scp -rp3 denny@67.12.21.133:/home/denny/testapp1.txt denny@67.129.242.40:
Natürlich können Sie auch den Inhalt der ~ / .ssh / config-Datei auf Ihren ersten Remote-Host kopieren und dann scp ohne die -3
Option verwenden, wodurch die Übertragung wahrscheinlich beschleunigt wird.
Oder Sie können den Trick von scp verwenden und eine solche Befehlszeile verwenden:
ssh -p 6774 denny@67.12.21.133 scp -rp -P 6774 /home/denny/testapp1.txt denny@67.129.242.40:
(Beachten Sie den unterschiedlichen Fall des Port-Parameters für ssh und scp: ssh -p 6774
vs. scp -P 6774
)
PS: Ich habe diese Informationen von der OpenSSH-Bugzilla erhalten, in die ich diese Informationen als Bug eingegeben habe: https://bugzilla.mindrot.org/show_bug.cgi?id=2020