Anda dapat menggunakan ~/.ssh/config
untuk menentukan port yang akan digunakan untuk host (dan untuk mengatur banyak hal bagus lainnya; periksa halaman manual man ssh_config
):
# ~/.ssh/config
Host 67.12.21.133
Port 6774
Host 67.129.242.40
Port 6774
Saat melakukan ini, Anda harus menggunakan opsi -3
untuk scp, yang menyalin file melalui mesin lokal Anda. Jika tidak, scp mengeluarkan perintah scp melalui ssh pada host pertama, jadi itu benar-benar berjalan
ssh -p 6774 denny@67.12.21.133 scp -rp /home/denny/testapp1.txt denny@67.129.242.40:
dan kemudian ~ / .ssh / config dari host jarak jauh pertama (67.12.21.133) digunakan sebagai pengganti host lokal Anda.
Ketika Anda telah mengatur Anda ~/.ssh/config
dengan benar, ini akan berfungsi:
scp -rp3 denny@67.12.21.133:/home/denny/testapp1.txt denny@67.129.242.40:
Tentu saja, Anda juga dapat menyalin isi file ~ / .ssh / config ke host jarak jauh pertama Anda, dan kemudian Anda dapat menggunakan scp tanpa -3
opsi, yang mungkin akan mempercepat transfer.
Atau Anda dapat menggunakan trik yang digunakan scp dan menggunakan baris perintah seperti itu:
ssh -p 6774 denny@67.12.21.133 scp -rp -P 6774 /home/denny/testapp1.txt denny@67.129.242.40:
(Catat kasus yang berbeda dari parameter port untuk ssh dan scp: ssh -p 6774
vs. scp -P 6774
)
PS: Saya mendapat informasi ini dari bugzilla OpenSSH tempat saya memasukkan ini sebagai bug: https://bugzilla.mindrot.org/show_bug.cgi?id=2020