sshfs mount โดยไม่มีการบีบอัดหรือเข้ารหัส


28

ฉันเป็นผู้ใช้ sshfs บ่อยมากสำหรับการติดตั้งดิสก์ต่างๆผ่านเครือข่าย อย่างไรก็ตามฉันมีเครื่องขนาดเล็กมาก (ที่มีตัวประมวลผล atom) ซึ่งฉันต้องติดตั้งไดเรกทอรีโดยใช้ sshfs

เป็นไปได้หรือไม่ที่จะปิดการใช้งานการบีบอัดข้อมูลทั้งหมดและอาจรวมถึงการเข้ารหัสเมื่อติดตั้งโดยใช้ sshfs เพื่อ จำกัด การใช้งาน cpu บนเครื่องที่ติดตั้งไดเรกทอรี


1
คุณกำลังวางการเข้ารหัสและการบีบอัด ... ให้ฉันคิด ทำไมคุณไม่ใช้ FTP หรือ SMB
lajuette

1
ไม่มีการเข้ารหัสดูเหมือนไม่มี SSH จริงๆ คุณได้พิจารณาใช้โปรโตคอลอื่นทั้งหมดหรือไม่
WhyNotHugo

2
@lajuette: เนื่องจาก Dan D. ระบุไว้ด้านล่างการตรวจสอบความถูกต้อง ssh จะยังคงถูกเข้ารหัสดังนั้นจึงไม่มีรหัสผ่านหรือคีย์ในรูปแบบธรรมดา นอกจากนี้คุณรู้หรือไม่ว่ามีโปรโตคอลใดที่พร้อมใช้งานเช่นเดียวกับ ssh ที่ฉันสามารถติดตั้งรีโมตโฟลเดอร์ได้อย่างง่ายดายเช่นเดียวกับ sshfs?
Bjarke Freund-Hansen

@lajuette ฉันต้องการสิ่งเดียวกันและเหตุผลของฉันคือฉันต้องการสิ่งที่กักกันเครื่องเกมย้อนยุค Win98 และ WinXP ของฉันสามารถใช้เพื่อดึงไฟล์ออกจากพีซีเดสก์ทอป Linux ของฉันและตัวเลือกที่มีอยู่ SSH ผ่าน WinSCP Just Works ™ผ่าน ไฟร์วอลล์ที่ปลอดภัยในรายการที่อนุญาตของฉันในขณะที่ FTP และ SMB ไม่ทำงานไม่ว่าฉันจะพยายามเปิดพอร์ตที่เหมาะสมก็ตาม (และ WebDAV สามารถให้บริการโดย Apache เท่านั้นซึ่งซับซ้อนเกินกว่าจะ chroot)
ssokolow

โอ้บวก AES ให้ปริมาณงาน 27 เมกะบิตบน Athlon64 3200+ เพิ่มขีดความสามารถสูงสุดของ CPU ในขณะที่ RC4 เพิ่มเป็นสองเท่าดังนั้นจึงไม่มีการเข้ารหัสใด ๆ ที่ใกล้เคียงกับการเพิ่มสูงสุด 100Mbit NIC ในด้าน WinXP (ระบุว่าไดรฟ์สนิมหมุนได้ติดตั้งอยู่ที่ปลายทั้งสองของการดำเนินการคัดลอกในคำถามสูงสุดที่ประมาณ 200Mbit เมื่อใช้ SMB กับไฟล์ที่ต่อเนื่องกันเพื่อลบความต้องการในการค้นหา)
ssokolow

คำตอบ:


38

แม้ว่าssh ประสิทธิภาพสูงจะเพิ่มไม่มีรหัสตัวเลข arcfour เกือบเร็วและรวมอยู่ในมาตรฐาน

ใช้: -o Ciphers=arcfour

ฉันใช้สิ่งนี้ผ่านเครือข่ายท้องถิ่นและฉันได้รับ 85% ของ 100Mbps Ethernet หรือประมาณ 10.625MB / s

(ในการตอบสนองคำตอบของ vava, sshfs จะยังคงเป็นอย่างที่มันเป็นแม้ว่าการเข้ารหัสของ ssh จะปิดอยู่เพราะโปรโตคอลการตรวจสอบความถูกต้องจะยังคงทำงานอยู่โดยที่คุณอาจใช้ telnet ด้วย)


หมายเหตุสำหรับ @osgx ฉันเพิ่งพบOpenSSL: การเลือกรหัสซึ่งรวมถึงกราฟต่อไปนี้:

ป้อนคำอธิบายรูปภาพที่นี่

ต่อไปนี้เป็นส่วนผลลัพธ์จากหน้านั้น กราฟและผลลัพธ์เป็นที่น่าสงสัยเพราะพวกเขาไม่ได้ระบุว่าทำเกณฑ์มาตรฐานและฮาร์ดแวร์ใด แต่ฉันคิดว่าพวกเขาไม่ได้อยู่ไกล

100,000 Kbyte / s เป็นเกณฑ์ของฉันสำหรับประสิทธิภาพที่ยอมรับได้ สิ่งนี้แสดงถึง CPU 1 แกน (จาก 8 ในกรณีของฉัน) ที่ทำงานที่การใช้ประโยชน์ 100% เพื่อถ่ายโอนข้อมูล 780Mbit / s (ซึ่งเป็นจุดอิ่มตัวที่เหมาะสมสำหรับลิงก์กิกะบิตอีเธอร์เน็ต)

RC4 เป็นตัวเลขที่เร็วที่สุดถ้าคุณกำลังใช้หน่วยประมวลผลที่ไม่ได้รับการสนับสนุนจากAESNI

AES-128 เป็นรหัสที่เร็วที่สุดถัดไปและเร็วกว่า RC4 มากถ้าคุณมี AESNI รองรับ มันช้ากว่าประมาณ 54% ถ้าคุณไม่ทำ AES-256 นั้นช้ากว่าและหากตั้งค่าไว้อย่างชัดเจนเบราว์เซอร์ใด ๆ ที่รองรับ AES-128 จะรองรับ AES-256 เช่นกัน

สิ่งที่ได้รับการยกมาข้างต้นแสดงให้เห็นอย่างชัดเจนว่า arcfour (และ AES กับAESNI ) สามารถเชื่อมโยง Gigabit บนเครื่องที่ทันสมัย

หากคุณไม่ต้องการการเข้ารหัสไม่มีรหัสใด ๆ จาก hpn-ssh ที่เร็วขึ้น แต่คุณจะต้องการมันก็ต่อเมื่อคุณต้องการที่จะอิ่มตัวลิงค์ที่มีแบนด์วิธหลายเท่าของกิกะบิตลิงค์หรือหากคุณต้องการลดการใช้ CPU


ขอบคุณสำหรับคำตอบข้อมูลมากและความเร็วจริงขึ้น sshfs :) ความ
nXqd

3
ไม่ใช่ '-o cipher = arcfour' ใช่ไหม
asalamon74

1
arcfour จะบรรลุความเร็ว 1Gbit หรือไม่
osgx

1
@osgx ใช่ฉันจะคิดอย่างนั้น ดูคำตอบที่อัปเดต
Dan D.

3
arcfourตัวเลขเลิกใช้แล้วและหายไปในการติดตั้ง OpenSSH ที่ทันสมัยที่สุด, คุณสามารถใช้chacha20-poly1305@openssh.comแทน
Mesut Tasci

8

สำหรับ sftp ที่ไม่มีการเข้ารหัสให้ใช้sshfs+socat

ในฝั่งเซิร์ฟเวอร์ทำงาน

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

และในด้านลูกค้า

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

ที่มา: http://pl.atyp.us/wordpress/index.php/2009/09/file-transfer-fun/


2
ในขณะนี้สิ่งนี้อาจช่วยแก้ปัญหาได้ในทางทฤษฎี แต่เราก็ควรสรุปเนื้อหาของลิงค์และให้ลิงค์เป็นข้อมูลอ้างอิง
Canadian Luke ติดตั้งใหม่ MONICA

3
โดยค่าเริ่มต้น socat TCP-LISTEN ฟังในทุกอินเตอร์เฟส หากต้องการ จำกัด เฉพาะหนึ่งอินเทอร์เฟซเครือข่าย (เช่น localhost) ให้ใช้,bind=127.0.0.1ตัวเลือก หากต้องการอนุญาตการเชื่อมต่อหลายครั้งไปยังเซิร์ฟเวอร์ให้เพิ่ม,forkตัวเลือก กำลังสร้างเซิร์ฟเวอร์แบบอ่านอย่างเดียว? เพิ่ม-Rไปยังคำสั่ง EXEC ในที่สุดมันจะเป็นดังนี้: socat TCP-LISTEN:7777,fork,bind=127.0.0.1 EXEC:'/usr/lib/sftp-server -R'(บน Arch Linux ฉันต้องใช้/usr/lib/ssh/sftp-serverแทน)
Lekensteyn

เพื่อความปลอดภัยอีกเล็กน้อยคุณยังสามารถ จำกัด ช่วง IP ด้วยเช่น,range=192.168.1.2/32เพื่ออนุญาตให้เครื่องหนึ่งเครื่องเชื่อมต่อได้
Robin Dinse

3

ไม่มีวิธีปิดใช้งานการเข้ารหัส - นี่คือ ssh หลังจากทั้งหมด และดูเหมือนว่าการบีบอัดจะถูกปิดใช้งานตามค่าเริ่มต้นเนื่องจากคุณต้องร้องขอด้วย-Cสวิตช์

แต่คุณอาจต้องการตรวจสอบ~/.ssh/configการตั้งค่าเกี่ยวกับการบีบอัดไฟล์ของคุณ หากคุณเพิ่มบรรทัดต่อไปนี้ที่ด้านบนของไฟล์นั้นการบีบอัดควรถูกปิดใช้งาน:

Host *
    Compression no

2

คุณสามารถติดตั้ง-o compression=noเพื่อปิดการบีบอัด เป็นไปไม่ได้ที่จะปิดการเข้ารหัสจะไม่เป็น sshfs หลังจากนั้น :) หากช้าฉันแนะนำให้ใช้วิธีอื่นในการติดตั้งไดเรกทอรีเช่นผ่าน samba, nfs หรือ ftp


NFS น่าจะเป็นทางเลือกที่ดี
Jeremy L

ดูเหมือนว่าค่าเริ่มต้นจะเป็น "การบีบอัด = ไม่" อย่างไรก็ตาม
WhyNotHugo

0

ฉันคิดว่าการบีบอัดข้อมูลเป็นสิ่งที่เร็วกว่าจริงๆเท่านั้นหากเวลาในการบีบอัดถูกชดเชยด้วยเวลาในการถ่ายโอนข้อมูล ดังนั้นการบีบอัดข้อมูลบนการเชื่อมต่อที่ช้าจึงเพิ่มความเร็วได้ถึง 6 เท่าเร็วกว่าไม่มี การบีบอัดข้อมูลในการเชื่อมต่อที่รวดเร็วนั้นไม่มีประโยชน์เลยเนื่องจากความเร็วจะลดลงเนื่องจากความล่าช้าในการบีบอัดข้อมูลของคุณหรือระบบโฮสต์ โฮสต์บางแห่งไม่ยอมรับการบีบอัดเลยเนื่องจากพวกเขาไม่ต้องการใช้พลังประมวลผลกับผู้ใช้

ฉันคิดว่าสวิตช์นี้-o Ciphers=arcfourจะเพิ่มความเร็วในการเข้ารหัสเป็นเกือบจะไม่มีการเข้ารหัสและ-o cache=yes -o kernel_cache -o large_reads -o compression=noอาจเพิ่มความเร็วของคุณได้มากเนื่องจากจะปรับ sshfs ได้เล็กน้อย การบีบอัดข้อมูลในการเชื่อมต่อความเร็วต่ำจะช่วยเพิ่มความเร็วในการถ่ายโอนข้อมูลของคุณได้มากขึ้นหากทำการบีบอัดได้ ส่วนใหญ่เป็น ตัวอย่างเช่นฉันใช้ด้วยความเร็ว 2 Mbit / s และการเชื่อมต่อ 0,3 Mbit / s และความเร็วในการถ่ายโอนประมาณ 3-5 นาทีแทนที่จะเป็น 25-30 นาทีเป็นเวลา 30 MByte


ในแบบที่คุณไม่ได้ให้ข้อมูลที่ดีกว่าคำตอบที่ได้รับการยอมรับ
yass

คำตอบที่ยอมรับไม่ได้กล่าวถึงการบีบอัด คำตอบนี้อาจอยู่นอกหัวข้อเล็กน้อย แต่ก็ยังมีคำแนะนำที่ดี
คน
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.