sshfs gắn kết mà không nén hoặc mã hóa


26

Tôi là một người sử dụng sshfs rất thường xuyên để gắn nhiều đĩa khác nhau qua mạng. Tuy nhiên, tôi có một máy rất nhỏ (có bộ xử lý nguyên tử) mà tôi cần gắn thư mục bằng sshfs.

Có thể vô hiệu hóa tất cả việc nén và thậm chí có thể mã hóa khi gắn bằng sshfs, để hạn chế việc sử dụng cpu trên máy mà thư mục được gắn?


1
Bạn đang bỏ mã hóa và nén ... hãy để tôi suy nghĩ. Tại sao bạn không sử dụng FTP hoặc SMB?
lajuette

Không có âm thanh mã hóa như không có SSH thực sự. Bạn đã cân nhắc sử dụng một giao thức khác hoàn toàn chưa?
WhyNotHugo

1
@lajuette: Như Dan D. tuyên bố dưới đây, xác thực ssh vẫn sẽ được mã hóa, do đó không có mật khẩu hoặc khóa trong bản rõ. Ngoài ra, bạn có biết bất kỳ giao thức nào có sẵn như ssh nơi tôi có thể gắn các thư mục từ xa dễ dàng nhất có thể với sshfs không?
Bjarke Freund-Hansen

@lajuette Tôi muốn điều tương tự và lý do của tôi là tôi cần thứ gì đó mà các máy chơi trò chơi Win98 và WinXP đã cách ly của tôi có thể sử dụng để kéo các tệp khỏi máy tính để bàn Linux của tôi và, trong các tùy chọn có sẵn, SSH thông qua WinSCP Just Works ™ Tường lửa kiểm dịch danh sách trắng của tôi trong khi FTP và SMB sẽ không hoạt động, bất kể tôi có cố gắng mở đúng cổng đến mức nào. (Và WebDAV rõ ràng chỉ có thể được phục vụ bởi Apache, quá phức tạp để chroot.)
ssokolow

Ồ, hơn nữa, AES mang lại cho tôi thông lượng 27Mbit trên Athlon64 3200+, tối đa hóa CPU, trong khi RC4 nhân đôi điều đó, do đó, không có mã hóa nào có thể tiến gần hơn đến việc tối đa hóa 100Mbit NIC ở phía WinXP. (Cho rằng các ổ đĩa quay đang được cài đặt hiện tại ở cả hai đầu của hoạt động sao chép trong câu hỏi tối đa khoảng 200Mbit khi SMB được sử dụng với các tệp liền kề để loại bỏ nhu cầu tìm kiếm.)
ssokolow

Câu trả lời:


36

Mặc dù ssh hiệu suất cao thêm một mật mã, mật mã arcfour gần như nhanh và được bao gồm tiêu chuẩn.

Sử dụng: -o Ciphers=arcfour

Tôi đã sử dụng mạng này qua mạng cục bộ và tôi nhận được khoảng 85% Ethernet 100Mbps hoặc khoảng 10.625 MB / s

(Trong câu trả lời của vava, sshfs vẫn sẽ là như vậy ngay cả khi mã hóa của ssh bị tắt vì giao thức xác thực vẫn sẽ hoạt động mà bạn không thể sử dụng telnet.


Lưu ý cho @osgx tôi mới tìm thấy OpenSSL: Lựa chọn mật mã bao gồm các biểu đồ sau:

enter image description here

Sau đây là phần kết quả từ trang đó. Biểu đồ và kết quả rất đáng nghi ngờ vì chúng không nêu rõ cách thức điểm chuẩn được thực hiện và trên phần cứng nào nhưng tôi nghĩ rằng chúng không còn xa nữa.

100.000 Kbyte / s là ngưỡng của tôi cho hiệu suất chấp nhận được. Điều này thể hiện 1 lõi CPU (8 trong trường hợp của tôi) đang hoạt động với mức sử dụng 100% để truyền 780Mbit / s dữ liệu (là điểm bão hòa hợp lý cho liên kết Ethernet gigabit).

RC4 là mật mã nhanh nhất, nếu bạn đang sử dụng bộ xử lý không hỗ trợ AESNI .

AES-128 là mật mã nhanh nhất tiếp theo và nhanh hơn nhiều so với RC4 nếu bạn có hỗ trợ AESNI. Nó khác chậm hơn khoảng 54% nếu bạn don. AES-256 vẫn chậm hơn và trừ khi có cấu hình rõ ràng khác, bất kỳ trình duyệt nào hỗ trợ AES-128 cũng sẽ hỗ trợ AES-256.

Những gì đã được trích dẫn ở trên cho thấy rõ rằng arcfour (và cả AES với AESNI ) có thể bão hòa một liên kết Gigabit trên một máy hiện đại.

Nếu bạn không cần mã hóa, không có mật mã nào từ hpn-ssh thậm chí còn nhanh hơn nhưng bạn sẽ chỉ cần nó nếu bạn cần bão hòa một liên kết với băng thông nhiều lần của liên kết Gigabit hoặc nếu bạn cần giảm mức sử dụng CPU.


Cảm ơn câu trả lời rất nhiều thông tin và điều này thực sự tăng tốc sshfs :)
nXqd

2
Có phải đó là '-o crypt = arcfour' không?
asalamon74

@ asalamon74 Không, không phải vậy. Từ man ssh_config, " Mật mã : Chỉ định các mật mã được phép cho giao thức phiên bản 2 theo thứ tự ưu tiên. "
Dan D.

1
Arcfour sẽ đạt được tốc độ 1Gbit?
osgx

1
@osgx Vâng, tôi sẽ nghĩ như vậy. Xem câu trả lời cập nhật.
Dan D.

8

Đối với sftp không có mã hóa, hãy sử dụng sshfs + socat

Về phía máy chủ chạy

socat TCP4-LISTEN:7777 EXEC:/usr/lib/sftp-server

Và về phía khách hàng

sshfs -o directport=7777 remote:/dir /local/dir

Nguồn: http://pl.atyp.us/wordpress/index.php/2009/09/file-transfer-fun/


2
Mặc dù về mặt lý thuyết có thể giải quyết vấn đề này, nó sẽ được ưu tiên tóm tắt nội dung liên kết và cung cấp liên kết làm tài liệu tham khảo
Canadian Luke

3
Theo mặc định, TCP-LISTEN lắng nghe trên tất cả các giao diện. Để giới hạn ở một giao diện mạng cụ thể (ví dụ: localhost), hãy sử dụng ,bind=127.0.0.1 Tùy chọn. Để cho phép nhiều kết nối đến máy chủ, hãy thêm ,fork Tùy chọn. Làm một máy chủ chỉ đọc? Thêm vào -R theo lệnh EXEC. Cuối cùng, nó sẽ trông như thế này: socat TCP-LISTEN:7777,fork,bind=127.0.0.1 EXEC:'/usr/lib/sftp-server -R' (trên Arch Linux, tôi đã phải sử dụng /usr/lib/ssh/sftp-server thay thế).
Lekensteyn

Để bảo mật hơn một chút, bạn cũng có thể giới hạn phạm vi IP với ví dụ: ,range=192.168.1.2/32, chỉ cho phép một máy cụ thể kết nối.
Robin Dinse

3

Không có cách nào để vô hiệu hóa mã hóa - đây là ssh sau tất cả. Và có vẻ như nén bị tắt theo mặc định vì bạn phải yêu cầu nó với -C công tắc điện.

Nhưng bạn có thể muốn kiểm tra ~/.ssh/config tập tin cho các cài đặt liên quan đến nén. Nếu bạn thêm các dòng sau vào đầu tệp đó, việc nén sẽ bị vô hiệu hóa:

Host *
    Compression no

2

Bạn có thể gắn kết với -o compression=no để tắt nén. Không thể tắt mã hóa, sau đó sẽ là sshfs :) Nếu chậm, tôi đề nghị sử dụng cách khác để gắn thư mục, như thông qua samba, nfs hoặc ftp.


NFS sẽ là một lựa chọn tốt
Jeremy L

Mặc định dường như là "nén = không".
WhyNotHugo

-1

Tôi nghĩ rằng nén là một cái gì đó, điều đó thực sự nghiêm ngặt chỉ nhanh hơn nếu thời gian nén được bù theo thời gian để truyền dữ liệu. Vì vậy, nén trên kết nối chậm đang tăng tốc độ lên nhanh hơn có thể gấp 6 lần. Nén trên một kết nối nhanh hoàn toàn không hữu ích vì nó giảm tốc độ xuống tốc độ nén của hệ thống máy chủ của bạn. Một số Máy chủ hoàn toàn không chấp nhận nén, vì họ không muốn dành sức mạnh bộ xử lý cho người dùng. Nhưng tôi nghĩ công tắc này -o Ciphers=arcfour sẽ tăng tốc độ mã hóa lên gần như không mã hóa và -o cache=yes -o kernel_cache -o large_reads -o compression=no có thể tăng tốc độ của bạn lên rất nhiều vì nó tối ưu hóa sshfs một chút. Nhưng liên quan đến việc nén trên các kết nối tốc độ thấp sẽ tăng tốc độ chuyển của bạn nhiều nếu có thể có một số nén. Chủ yếu là nó. Ví dụ: tôi sử dụng nó để giảm 2Mbit / giây và tăng 0,3Mbit / giây - chuyển và tăng tốc độ chuyển khoảng 3-5 phút thay vì 25-30 phút cho khoảng 30 MB.


Theo một cách nào đó, bạn không cung cấp thông tin tốt hơn câu trả lời được chấp nhận
yass
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.