Jestem bardzo częstym użytkownikiem sshfs do montowania różnych dysków w sieci. Mam jednak bardzo małą maszynę (z procesorem atomowym), z której muszę zamontować katalog za pomocą sshfs.
Czy można wyłączyć całą kompresję, a może nawet szyfrowanie podczas montowania za pomocą sshfs, aby ograniczyć użycie procesora na komputerze, z którego jest podłączony katalog?
networking
ssh
Bjarke Freund-Hansen
źródło
źródło
Odpowiedzi:
Mimo że ssh o wysokiej wydajności dodaje brak szyfru, szyfr arcfour jest prawie tak szybki i stanowi standard.
Posługiwać się:
-o Ciphers=arcfour
Używam tego przez sieć lokalną i uzyskuję około 85% Ethernet 100 Mb / s lub około 10,625 MB / s
(W odpowiedzi Vavy, sshfs nadal byłby tym, czym jest, nawet gdy szyfrowanie ssh jest wyłączone, ponieważ protokół uwierzytelniania nadal byłby aktywny, bez którego równie dobrze można używać telnet.)
Uwaga dla @osgx Ostatnio znalazłem OpenSSL: Wybór szyfru, który zawiera następujący wykres:
Poniżej znajduje się sekcja wyników z tej strony. Wykres i wyniki są wątpliwe, ponieważ nie wskazują, w jaki sposób przeprowadzono test porównawczy i na jakim sprzęcie, ale myślę, że nie są tak daleko.
To, co zostało cytowane powyżej, wyraźnie pokazuje, że arcfour (a także AES z AESNI ) może nasycić łącze Gigabit na nowoczesnej maszynie.
Jeśli nie potrzebujesz szyfrowania, żaden szyfr z hpn-ssh jest jeszcze szybszy, ale potrzebujesz go tylko wtedy, gdy musisz nasycić łącze kilkakrotnie większą przepustowością łącza Gigabit lub jeśli potrzebujesz mniejszego użycia procesora.
źródło
arcfour
szyfr przestarzały i brakuje go w większości nowoczesnych instalacji OpenSSH, Możesz[email protected]
zamiast tego użyć .W przypadku sftp bez szyfrowania użyj
sshfs
+socat
Po stronie serwera uruchom
I po stronie klienta
Źródło: http://pl.atyp.us/wordpress/index.php/2009/09/file-transfer-fun/
źródło
,bind=127.0.0.1
opcji. Aby zezwolić na wiele połączeń z serwerem, dodaj,fork
opcję. Robisz serwer tylko do odczytu? Dodaj-R
do polecenia EXEC. Na koniec będzie to wyglądało tak:socat TCP-LISTEN:7777,fork,bind=127.0.0.1 EXEC:'/usr/lib/sftp-server -R'
(w Arch Linux musiałem/usr/lib/ssh/sftp-server
zamiast tego użyć ).,range=192.168.1.2/32
Aby zezwolić na połączenie tylko jednego konkretnego komputera.Nie ma możliwości wyłączenia szyfrowania - w końcu to ssh. Wygląda na to, że kompresja jest domyślnie wyłączona, ponieważ należy poprosić o nią za pomocą
-C
przełącznika.Ale możesz sprawdzić
~/.ssh/config
plik pod kątem ustawień dotyczących kompresji. Jeśli dodasz następujące wiersze u góry tego pliku, kompresja powinna być wyłączona:źródło
Możesz zamontować za pomocą,
-o compression=no
aby wyłączyć kompresję. Nie można wyłączyć szyfrowania, po tym nie byłoby sshfs :) Jeśli jest powolny, sugeruję użyć innego sposobu zamontowania katalogu, np. Przez sambę, nfs lub ftp.źródło
Myślę, że kompresja jest czymś, co jest naprawdę szybsze tylko wtedy, gdy czas kompresji jest kompensowany czasem przesyłania danych. Tak więc kompresja na wolnym połączeniu zwiększa prędkość nawet do 6 razy szybciej niż bez. Kompresja w szybkim połączeniu nie jest w ogóle przydatna, ponieważ zmniejsza prędkość z powodu opóźnienia kompresji w twoim systemie lub hoście. Niektóre hosty w ogóle nie akceptują kompresji, ponieważ nie chcą tracić mocy procesora na użytkowników.
Myślę, że ten przełącznik
-o Ciphers=arcfour
zwiększy szybkość szyfrowania do prawie braku szyfrowania i-o cache=yes -o kernel_cache -o large_reads -o compression=no
może znacznie zwiększyć twoją szybkość, ponieważ nieco zoptymalizuje sshfs. Kompresja na połączeniach o niskiej prędkości znacznie przyspieszy transfer, jeśli możliwa jest kompresja; głównie tak jest. Na przykład używam go z połączeniem 2 Mbit / s up i 0,3 Mbit / s up i przyspiesza transfer o około 3-5 minut zamiast 25-30 minut o około 30 MB.źródło