2010-03-25 29 views
12

Trong giao thức ssh, có cơ chế truyền tệp không?
Im làm việc trên cơ sở mã hiện có đã có mã cơ sở ssh. Bây giờ tôi cần phải chuyển các tập tin qua kết nối ssh. Nếu giao thức ssh đã hỗ trợ nó, tôi không phải tích hợp những thứ scp vào nó.Chuyển tệp qua ssh

Cảm ơn.

Chỉnh sửa:
Im sử dụng mã C, ssh dựa trên openssh.
Tôi phải chuyển tệp theo lập trình, không sử dụng chương trình/lệnh bên ngoài do một số ràng buộc. Chương trình phải chuyển bất kỳ tệp kích thước nào trên máy chủ lưu trữ từ xa từng đoạn, và xử lý đoạn nội dung đó một cách nhanh chóng. Sau đó, dữ liệu đoạn được loại bỏ.

+0

bản sao có thể có của [Truyền tệp qua SSH] (http://stackoverflow.com/questions/343711/transferring-files-over-ssh) – Ajedi32

Trả lời

5

sftp và scp đều là phương thức truyền tệp "an toàn" hiện có, nhưng câu trả lời của bạn sẽ phụ thuộc vào chồng công nghệ bạn đang sử dụng cho ứng dụng của mình. Bạn không đề cập đến việc bạn đang sử dụng C#, PHP hay ngôn ngữ khác hay loại máy ứng dụng của bạn chạy. Những điều này sẽ có một sức chịu đựng lớn trên các câu trả lời bạn sẽ nhận được.

+0

Tôi sử dụng mã C, ssh dựa trên openssh. – datasunny

2

Hãy thử xem SFTP.

Chỉnh sửa: Bạn cũng có thể tìm thấy this article hữu ích về việc chạy rsunc trên ssh.

20
echo "hello" | ssh [email protected] "cat - > /tmp/file" 

Tôi vừa đọc tệp, đặt nó trong SSH và viết trên máy chủ SSHHost trong tệp/tmp /.

+0

Tôi phải lập trình chuyển tệp, vì có một số hạn chế về bộ nhớ/đĩa cứng. – datasunny

+0

+1 cho tốt 'ol ngày :-) Tôi nhận ra bài đăng này là cũ, nhưng bạn có thể làm điều này trong một thời trang kịch bản bằng cách sử dụng các phím ssh: http://www.linuxproblem.org/art_9.html – zje

1

Rsync có thể được giúp đỡ:

rsync [email protected]:filename remotefilename 
+0

có vẻ như không may rsync phải có sẵn trên cả hai máy – Hafenkranich

4

Cách trường học cũ là "tar-to-tar" mà làm một công việc tốt của việc sao chép và quyền bảo quản. Điều này phần lớn được thay thế bằng cách sử dụng rsync khi cả hai bên đều có rsync.

ssh [email protected] "cd mydir && tar cfp - mysubdir" | tar xvfp - 

Hãy cẩn thận về các tệp thưa thớt, v.v. khi bạn thực hiện việc này. Hầu hết các tars có một tùy chọn để bảo tồn các lỗ tập tin trong quá trình loại này.

+0

Hãy nhớ rằng hai bên phải có khả năng sử dụng rsync – Hafenkranich

Các vấn đề liên quan