Câu hỏi Làm thế nào tôi có thể chuyển các tập tin từ UNIX sang Windows?


Tôi muốn chuyển một tệp từ máy chủ UNIX sang Máy chủ Windows 2003, vì vậy tôi đã tải xuống copssh lên máy chủ Windows và openssh đã được cài đặt trên máy chủ UNIX.

Khi tôi thực thi lệnh sau đây (trên máy chủ UNIX):

scp -r /file_in_unix/ user@windows_hostname:\c:\\\

Đầu ra sau xuất hiện (trên màn hình máy chủ UNIX):

100% |***************************************************************|   562       00:00

Tuy nhiên, khi tôi đi xem tệp trong C ổ đĩa trên máy chủ Windows, tôi không tìm thấy bất cứ điều gì. Tại sao tệp không hiển thị?


4
2017-10-04 10:12


gốc


Bạn đã sử dụng chức năng tìm kiếm của Windows để định vị tệp bạn đã sao chép chưa? Có lẽ nó ở đó nhưng không ở vị trí mà bạn nhìn? - Olfan


Các câu trả lời:


Đường dẫn đích trông sai - với hầu hết các shell unix dấu gạch chéo ngược là một ký tự thoát không phải là một dấu hiệu đường dẫn, vì vậy tôi đoán tập tin đã bị rơi vào thư mục chính của người dùng SSH với một tên tệp lẻ.

Copssh IIRC dựa trên Cygwin, vì vậy những gì bạn có thể cần để chạy là:

scp -r /file_in_unix/ user@windows_hostname:/cygdrive/c/

Một lựa chọn thay thế để sao chép vào một dịch vụ SSH trên máy Windows là sử dụng một máy khách GUI như WinSCP trên hộp Windows để đăng nhập vào máy Unix và kéo các tệp theo cách đó - mặc dù điều này không phù hợp nếu bạn đang cố gắng tự động hoá quy trình.

Nếu bạn có quyền truy cập đặc quyền trên máy unix (tức là bạn đang, hoặc có thể trở thành thông qua sudo hoặc tương tự, root) và có sự hỗ trợ có liên quan được cài đặt, bạn chỉ có thể sao chép các tập tin vào một chia sẻ Windows. Bạn không nói những gì bạn đang sử dụng Unix. Đối với Ubuntu và kiểm tra tương tự có hỗ trợ và cài đặt nó nếu không thể thực hiện được sudo aptitude install smbfs, bạn có thể họ gắn kết một chia sẻ Windwos với một cái gì đó như sudo mount -tcifs //11.22.33.44//sharename /mnt/tmp -ousername=WindowsUserName (nơi 11.22.33.44 là địa chỉ IP của máy tính Windows, tùy thuộc vào thiết lập mạng của bạn, bạn có thể tham khảo máy theo tên chứ không phải địa chỉ). Một khi bạn đã hoàn thành, bạn có thể sử dụng các công cụ quản lý tập tin cơ bản (cp, mv, ...) để tương tác với phần chia sẻ và cuộc gọi Windows đó umount /mnt/tmp khi nào bạn làm xong vậy. Bạn có thể muốn chọn một tên điểm gắn kết có ý nghĩa hơn / mnt / tmp. Bạn có thể rời khỏi phần chia sẻ, tất nhiên, nếu việc chuyển dữ liệu được tự động / lập lịch. Phương pháp này giả định rằng máy Unix có thể xem các tệp của máy tính Windows thông qua bất kỳ sự sắp xếp tường lửa nào có thể tồn tại giữa chúng.


9
2017-10-04 11:08



CopSSH mà câu hỏi đề cập đến là dựa trên cổng OpenSSH của Cygwin, vì vậy tôi mong đợi nó hoạt động gần như giống hệt nhau. Đối với các triển khai SSH / SFTP / SCP khác, bạn có thể cần phải sử dụng tên ổ đĩa và dấu phân cách kiểu Windows, trong trường hợp đó, lệnh trong câu hỏi có thể cần thêm một chút thoát để tránh các ký tự này được diễn giải thay vì chuyển đến phía bên kia. - David Spillett


Bạn cũng có thể thực hiện nó theo cách khác và kéo các tệp từ phía Windows thay vì đẩy từ phía Unix. Có một cái nhìn vào các công cụ như WinSCP đó là một công cụ đồ họa để chuyển tập tin SCP cho bạn một sự lựa chọn giữa giao diện Windows Explorer hoặc Norton Commander, cả hai đều nên trực quan với bạn. Sau khi đăng nhập, bạn có thể điều hướng đến các tệp quan tâm "cách Windows" và kéo và thả chúng vào bất cứ nơi nào bạn muốn.


2
2017-10-06 14:14





Sử dụng WinSCP dụng cụ. Làm việc như một say mê.


2
2017-12-11 19:48





Tôi đã thực hiện điều này, từ một máy chủ Linux, đến một máy chủ Windows và đã xác minh nó.

scp test.txt someguy @ someserver: / tmp /

/ tmp nằm trên ổ C của Windows Server. Nó không giống như bất cứ điều gì để làm với C, vì vậy tôi bỏ nó, và nó đã làm việc.


1
2017-12-11 19:31





Tại sao không cài đặt Samba trên hộp Unix? Sau đó, bạn có thể ánh xạ ổ đĩa giữa hai hệ thống. Ngoài ra, tôi sẽ sử dụng psftp (từ bộ putty) chứ không phải là scp dòng lệnh, vì bạn không quen thuộc với nó và dường như không cần phải viết nó.


-1
2017-10-04 12:21



Samba là một nguy cơ bảo mật lớn. Rất nhiều tập tin ăn cắp xảy ra với Samba cài đặt. - Sun
Bạn có ý gì khi "ăn cắp"? - CarlF
cvedetails.com/vendor/102/Samba.html - Sun
@Sun Windows thậm chí còn có nhiều lỗ hổng hơn, rất nhiều trong thực tế Microsoft phải phát hành bản cập nhật hàng tháng. Đôi khi hơn 12 tháng. Samba vốn không dễ bị tổn thương hơn khi họ đang nói giao thức dựa trên Microsoft. Miễn là bạn bảo đảm nó đúng cách samba không phải là một vấn đề. Bạn luôn có thể cắt và dán tệp từ cửa sổ sang ổ đĩa khác, sau đó chia sẻ sẽ trống. - cybernard