Tôi có một tệp lớn trên máy chủ one
và tôi muốn sao chép nó vào máy chủ two
bằng cách sử dụng scp
. Tôi có các phím thiết lập đúng và tôi có thể ssh / scp cho cả hai máy chủ từ máy tính để bàn của mình.
Tệp tôi cần sao chép lớn hơn dung lượng trống trên hdd của máy trạm, vì vậy tôi muốn làm:
scp one:/opt/bigfile.tar.gz two:/opt/bigfile.tar.gz
nhưng tôi đã nhận:
ssh: Could not resolve hostname one: Name or service not known
Chúng tôi không có DNS ở đây (đừng hỏi tôi tại sao), vì vậy tôi có cái này trong ~ / .ssh / config:
Host one
Hostname <IP address of server one>
User jspurny
Host two
Hostname <IP address of server two>
User jspurny
Nếu tôi thử với một tệp nhỏ hơn và chuyển nó từ one
máy trạm của mình và sau đó two
, nó hoạt động tốt:
scp one:/opt/smallerfile.tar.gz .
scp smallerfile.tar.gz two:/opt/
Khi sử dụng địa chỉ IP trực tiếp như được đề xuất trong nhận xét, tôi đã nhận được:
$ scp jspurny@<one's IP>:bigfile.tar.gz jspurny@<two's ip>:bigfile.tar.gz
Host key verification failed.
lost connection
Không phải là một vấn đề:
Kích thước không phải là vấn đề ở đây - nó chỉ là "tác nhân" cho vấn đề này vì không có cách nào để lưu trữ bigfile.tar.gz
trên máy trạm của tôi. Vấn đề xảy ra bất kể kích thước tập tin.
Câu hỏi:
Tại sao lệnh:
scp oneremote:file secondremote:file
ném lỗi bất kể sử dụng .ssh/config
bí danh hoặc trực tiếp sử dụng địa chỉ IP?
Đã giải quyết - loại - vẫn đang tìm kiếm lời giải thích - Tôi đã chia bigfile thành các tệp nhỏ hơn và chuyển từng cái một qua máy trạm của tôi. Tôi vẫn đang tự hỏi tại sao nó không hoạt động. Vì vậy, tôi vẫn sẽ đánh giá cao một số lời giải thích về những gì sai ..
Tìm thấy một lý do tại sao nó thất bại: Có vẻ như tôi đã ngu ngốc. Tôi nghĩ rằng lệnh
scp one:file two:file
đã tạo hai kết nối đến mỗi máy chủ và sau đó nhận dữ liệu từ một và ngay lập tức gửi chúng đến hai và do đó hoạt động như một rơle.
Đây rõ ràng không phải là trường hợp, bởi vì một -v
tùy chọn đơn giản tiết lộ rằng trên thực tế nó chỉ kết nối với một và từ một nó cố gắng kết nối với hai . Mà rõ ràng là không thể vì máy chủ một là không được phép kết nối với hai .