Bạn có thể sử dụng ~/.ssh/config
để chỉ định các cổng sẽ sử dụng cho máy chủ (và để đặt nhiều thứ hay ho khác; kiểm tra trang man man ssh_config
):
# ~/.ssh/config
Host 67.12.21.133
Port 6774
Host 67.129.242.40
Port 6774
Khi làm điều này, bạn phải sử dụng tùy chọn -3
để scp, sao chép các tệp thông qua máy cục bộ của bạn. Mặt khác, scp phát lệnh scp qua ssh trên máy chủ đầu tiên, vì vậy nó thực sự chạy
ssh -p 6774 denny@67.12.21.133 scp -rp /home/denny/testapp1.txt denny@67.129.242.40:
và sau đó ~ / .ssh / config của máy chủ từ xa đầu tiên (67.12.21.133) được sử dụng thay cho máy chủ cục bộ của bạn.
Khi bạn đã thiết lập ~/.ssh/config
chính xác, điều này sẽ hoạt động:
scp -rp3 denny@67.12.21.133:/home/denny/testapp1.txt denny@67.129.242.40:
Tất nhiên, bạn cũng có thể sao chép nội dung của tệp ~ / .ssh / config vào máy chủ từ xa đầu tiên của mình và sau đó bạn có thể sử dụng scp mà không có -3
tùy chọn, điều này có thể sẽ tăng tốc độ chuyển.
Hoặc bạn có thể sử dụng thủ thuật mà scp sử dụng và sử dụng một dòng lệnh như vậy:
ssh -p 6774 denny@67.12.21.133 scp -rp -P 6774 /home/denny/testapp1.txt denny@67.129.242.40:
(Lưu ý trường hợp khác nhau của tham số cổng cho ssh và scp: ssh -p 6774
vs. scp -P 6774
)
PS: Tôi đã nhận thông tin này từ bugzilla OpenSSH nơi tôi bước vào đây là một lỗi: https://bugzilla.mindrot.org/show_bug.cgi?id=2020