sshfs dipasang tanpa kompresi atau enkripsi


28

Saya adalah pengguna sshf yang sangat sering untuk memasang berbagai disk melalui jaringan. Namun saya memiliki mesin yang sangat kecil (dengan prosesor atom) dari mana saya perlu me-mount direktori menggunakan sshfs.

Apakah mungkin untuk menonaktifkan semua kompresi, dan mungkin bahkan enkripsi saat pemasangan menggunakan sshfs, untuk membatasi penggunaan cpu pada mesin dari mana direktori tersebut dipasang?


1
Anda menjatuhkan enkripsi dan kompresi ... biarkan saya berpikir. Mengapa Anda tidak menggunakan FTP atau SMB?
lajuette

1
Tidak ada enkripsi yang terdengar seperti SSH sebenarnya. Sudahkah Anda mempertimbangkan untuk menggunakan protokol lain sama sekali?
WhyNotHugo

2
@lajuette: Sebagaimana dinyatakan oleh Dan D. di bawah ini, otentikasi ssh masih akan dienkripsi, jadi tidak ada kata sandi atau kunci dalam plaintext. Juga, apakah Anda tahu protokol apa pun yang tersedia seperti ssh di mana saya bisa memasang folder jarak jauh semudah saya menggunakan sshfs?
Bjarke Freund-Hansen

@lajuette Saya menginginkan hal yang sama dan alasan saya adalah bahwa saya memerlukan sesuatu yang dapat dikarantina dengan mesin Win98 dan WinXP yang dikarantina untuk menarik file dari PC desktop Linux saya dan, dari opsi yang tersedia, SSH melalui WinSCP Just Works ™ melalui firewall karantina daftar putih saya sementara FTP dan SMB tidak berfungsi, betapa pun kerasnya saya mencoba membuka port yang benar. (Dan WebDAV rupanya hanya dapat dilayani oleh Apache, yang terlalu rumit untuk chroot.)
ssokolow

Oh, plus, AES memberi saya 27Mbit throughput pada Athlon64 3200+, memaksimalkan CPU, sementara RC4 menggandakan itu, jadi tidak ada enkripsi yang harus lebih dekat dengan memaksimalkan NIC 100Mbit di sisi WinXP. (Mengingat bahwa drive karat yang berputar saat ini dipasang pada kedua ujung operasi penyalinan yang dimaksud maks. Sekitar 200Mbit ketika SMB digunakan dengan file yang berdekatan untuk menghapus kebutuhan untuk mencari.)
ssokolow

Jawaban:


38

Meskipun ssh berkinerja tinggi menambahkan cipher tidak ada, cipher arcfour hampir sama cepat dan termasuk standar.

Menggunakan: -o Ciphers=arcfour

Saya telah menggunakan ini melalui jaringan lokal dan saya mendapatkan sekitar 85% dari 100Mbps Ethernet atau sekitar 10.625MB / s

(Dalam jawaban jawaban vava, sshf masih akan menjadi apa adanya bahkan ketika enkripsi ssh tidak aktif karena protokol otentikasi akan tetap aktif tanpanya Anda mungkin juga menggunakan telnet.)


Catatan untuk @osgx Saya baru-baru ini menemukan OpenSSL: Pilihan Cipher yang mencakup grafik berikut:

masukkan deskripsi gambar di sini

Berikut ini adalah bagian hasil dari halaman itu. Grafik dan hasilnya dipertanyakan karena mereka tidak menyatakan bagaimana benchmark dilakukan dan pada perangkat keras apa tapi saya pikir mereka tidak terlalu jauh.

100.000 Kbyte / s adalah ambang batas saya untuk kinerja yang dapat diterima. Ini mewakili 1 inti CPU (dari 8 dalam kasus saya) yang berjalan pada utilisasi 100% untuk mentransfer 780Mbit / s data (yang merupakan titik jenuh yang wajar untuk tautan Ethernet gigabit).

RC4 adalah cipher tercepat, jika Anda menggunakan prosesor yang tidak mendukung AESNI .

AES-128 adalah cipher tercepat berikutnya, dan jauh lebih cepat daripada RC4 jika Anda memiliki dukungan AESNI. Ini sekitar 54% lebih lambat jika Anda tidak. AES-256 masih lebih lambat, dan kecuali jika dikonfigurasi secara eksplisit, browser apa pun yang mendukung AES-128 juga akan mendukung AES-256.

Apa yang telah dikutip di atas dengan jelas menunjukkan bahwa arcfour (dan juga AES dengan AESNI ) dapat menjenuhkan tautan Gigabit pada mesin modern.

Jika Anda tidak memerlukan enkripsi, cipher tidak ada dari hpn-ssh bahkan lebih cepat tetapi Anda hanya akan memerlukannya jika Anda perlu menjenuhkan suatu tautan dengan beberapa kali bandwidth dari tautan Gigabit atau jika Anda perlu mengurangi penggunaan CPU.


Terima kasih atas jawaban yang sangat informatif dan ini benar-benar mempercepat sshfs :)
nXqd

3
Bukannya '-o cipher = arcfour'?
asalamon74

1
Akankah arcfour mencapai kecepatan 1Gbit?
osgx

1
@osgx Ya, saya kira begitu. Lihat jawaban yang diperbarui.
Dan D.

3
arcfourcipher usang dan hilang pada sebagian besar instalasi OpenSSH modern, Anda dapat menggunakannya chacha20-poly1305@openssh.com.
Mesut Tasci

8

Untuk sftp tanpa enkripsi, gunakan sshfs+socat

Di sisi server dijalankan

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

Dan di sisi klien

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

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


2
Meskipun hal ini mungkin secara teoritis memecahkan masalah, itu akan lebih suka untuk merangkum isi link dan memberikan link sebagai referensi
Kanada Lukas mengembalikan MONICA

3
Secara default, socat TCP-LISTEN mendengarkan pada semua antarmuka. Untuk membatasi satu antarmuka jaringan tertentu (misalnya, localhost), gunakan ,bind=127.0.0.1opsi. Untuk mengizinkan beberapa koneksi ke server, tambahkan ,forkopsi. Membuat server hanya baca? Tambahkan -Rke perintah EXEC. Pada akhirnya, akan terlihat seperti ini: socat TCP-LISTEN:7777,fork,bind=127.0.0.1 EXEC:'/usr/lib/sftp-server -R'(di Arch Linux, saya harus menggunakan /usr/lib/ssh/sftp-serversebagai gantinya).
Lekensteyn

Untuk keamanan yang lebih tinggi, Anda juga dapat membatasi rentang IP dengan misalnya ,range=192.168.1.2/32, hanya mengizinkan satu mesin tertentu untuk terhubung.
Robin Dinse

3

Tidak ada cara untuk menonaktifkan enkripsi - ini ssh. Dan sepertinya kompresi dinonaktifkan secara default karena Anda harus memintanya dengan -Csaklar.

Tetapi Anda mungkin ingin memeriksa ~/.ssh/configfile Anda untuk pengaturan tentang kompresi. Jika Anda menambahkan baris berikut di bagian atas file itu, kompresi harus dinonaktifkan:

Host *
    Compression no

2

Anda dapat memasang dengan -o compression=nountuk mematikan kompresi. Tidak mungkin mematikan enkripsi, tidak akan menjadi sshfs setelah itu :) Jika lambat saya sarankan untuk menggunakan cara lain untuk memasang direktori, seperti melalui samba, nfs atau ftp.


NFS akan menjadi pilihan yang baik
Jeremy L

Defaultnya tampaknya "kompresi = tidak".
WhyNotHugo

0

Saya pikir kompresi adalah sesuatu yang benar-benar hanya lebih cepat jika waktu untuk kompres dikompensasi oleh waktu untuk mentransfer data. Jadi kompresi pada koneksi yang lambat meningkatkan kecepatan hingga mungkin 6 kali lebih cepat daripada tanpa. Kompresi pada koneksi cepat tidak berguna sama sekali, karena kecepatan turun karena penundaan kompresi pada Anda atau sistem host. Beberapa host tidak menerima kompresi sama sekali, karena mereka tidak ingin menghabiskan daya prosesor pada pengguna.

Saya pikir saklar ini -o Ciphers=arcfourakan meningkatkan kecepatan enkripsi menjadi hampir tidak ada enkripsi, dan -o cache=yes -o kernel_cache -o large_reads -o compression=nodapat meningkatkan kecepatan Anda karena mengoptimalkan sshfs sedikit. Kompresi pada koneksi kecepatan rendah akan mempercepat transfer Anda jika kompresi memungkinkan; kebanyakan itu. Misalnya saya menggunakannya dengan koneksi 2 Mbit / s turun dan 0,3 Mbit / s, dan mempercepat transfer sekitar 3-5 menit, bukannya 25-30 menit selama sekitar 30 MByte.


Di satu sisi Anda tidak memberikan informasi yang lebih baik daripada jawaban yang diterima
yass

Jawaban yang diterima bahkan tidak menyebutkan kompresi. Jawaban ini mungkin sedikit di luar topik, tetapi masih memiliki saran yang bagus.
Seseorang
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.