SCP từ một máy chủ bên ngoài đến một máy chủ khác


12

Tôi đang cố gắng sử dụng SCP trên máy chủ cục bộ của mình để sao chép tệp từ một máy chủ từ xa sang máy chủ từ xa khác (cả hai máy chủ từ xa đều sử dụng cổng tùy chỉnh (xxxx)

Tôi đang cố gắng:

scp -r -P xxxx root@xxx.xxx.xxx.111:/home/myimages/images.tar.gz root@xxx.xxx.xxx.222:/home/myimages/images.tar.gz

Nhưng tôi nhận được lỗi sau:

ssh: connect to host xxx.xxx.xxx.222 port 22: Connection timed out

Bất kỳ đề xuất?


Tôi đoán rằng bạn có thể ssh đến xxx.xxx.xxx.222 bình thường?

Vâng, tôi có thể ssh đến tất cả các máy chủ từ tất cả các máy chủ
Lizard

Câu trả lời:


17

Bạn đã kiểm tra xác thực trực tiếp hoạt động từ máy chủ từ xa đầu tiên đến máy chủ thứ hai chưa?

scp user@host:/file user@otherhost:/otherfile là tốc ký cho

ssh user@host scp /file user@otherhost:/otherfile

điều đó cho tôi suy nghĩ:

ssh -p XXX user@host scp -P XXX /file user@otherhost:/otherfile có thể làm việc.


1
Vâng, tôi đã ssh'd đến tất cả các máy chủ từ mỗi máy chủ :(
Lizard

Điểm hay, chỉ vì bạn có thể thấy xxx.222 không có nghĩa là xxx.111 có thể.

Đó là một điểm tốt, nhưng tôi đã kiểm tra xem, có đề xuất nào khác không?
Thằn lằn

Các ssh sau đó scp làm những gì tôi cần nó.
Thằn lằn

3

Có vẻ như scpkhông nhận ra rằng cổng đặc biệt cũng nên được sử dụng trên máy chủ thứ hai. Bạn có thể thử gọi một cách rõ ràng sshđể bắt đầu scpchuyển từ xa :

ssh -P xxxx user@host scp -P xxxx /file user@otherhost:/otherfile

3

Xác định các máy chủ trong của bạn .ssh/config file, ví dụ:

Host foobar
User youruser
Port 2222
Hostname the.real.hostname

Host foobar2
User youruser
Port 2222
Hostname the2.real.hostname

Sau đó, bạn có thể chỉ cần làm:

scp foobar:file foobar2:

và nó sẽ sử dụng các cổng tùy chỉnh được xác định.


3

Tôi đã có các máy chủ từ xa không thể nhìn thấy nhau, nhưng máy chủ cục bộ của tôi có thể nhìn thấy cả hai. Trình nền ssh trong các máy chủ từ xa đang lắng nghe trong các cổng ssh không chuẩn khác nhau. Đây là cách tôi hoàn thành nó:

ssh -p 111 userA@remote1 'cat myfile' | ssh -p 222 userB@remote2 'cat - > myfile'

Lệnh ssh thứ hai yêu cầu mật khẩu trước, sau đó remote1 yêu cầu mật khẩu cho userA. Bạn có thể tự động hóa điều này nếu bạn đã thiết lập khóa ủy quyền ssh, đây không phải là trường hợp trong môi trường của tôi.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.