네트워크를 통해 다양한 디스크를 마운트하기 위해 sshfs를 자주 사용합니다. 그러나 sshfs를 사용하여 디렉토리를 마운트 해야하는 매우 작은 머신 (아톰 프로세서 포함)이 있습니다.
디렉토리가 마운트 된 머신에서 CPU 사용을 제한하기 위해 sshfs를 사용하여 마운트 할 때 모든 압축을 비활성화하고 암호화를 비활성화 할 수 있습니까?
네트워크를 통해 다양한 디스크를 마운트하기 위해 sshfs를 자주 사용합니다. 그러나 sshfs를 사용하여 디렉토리를 마운트 해야하는 매우 작은 머신 (아톰 프로세서 포함)이 있습니다.
디렉토리가 마운트 된 머신에서 CPU 사용을 제한하기 위해 sshfs를 사용하여 마운트 할 때 모든 압축을 비활성화하고 암호화를 비활성화 할 수 있습니까?
답변:
고성능 ssh 는 none 암호를 추가 하지만 arcfour 암호는 거의 빠르며 표준으로 포함됩니다.
용도: -o Ciphers=arcfour
로컬 네트워크에서 이것을 사용하고 있으며 100Mbps 이더넷의 약 85 % 또는 약 10.625MB / s를 얻습니다.
(vava의 응답으로, sshfs는 telnet을 사용하지 않고 인증 프로토콜이 여전히 활성화되어 있기 때문에 ssh의 암호화가 해제되어 있어도 그대로 유지됩니다.)
@osgx 참고 사항 최근 에 다음 그래프를 포함하는 OpenSSL : Cipher Selection 을 발견했습니다 .
다음은 해당 페이지의 결과 섹션입니다. 그래프와 결과는 벤치 마크가 어떻게 수행되었으며 어떤 하드웨어에 대해 언급하지 않았기 때문에 의심 스럽지만 멀리 떨어져 있지 않다고 생각합니다.
허용 가능한 성능의 임계 값은 100,000KB입니다. 이것은 780Mbit / s의 데이터를 전송하기 위해 100 % 사용률로 실행되는 CPU 코어 1 개 (필자의 경우 8 개)를 나타냅니다 (기가비트 이더넷 링크의 적절한 포화 점).
AESNI를 지원하지 않는 프로세서를 사용하는 경우 RC4가 가장 빠른 암호 입니다.
AES-128은 다음으로 가장 빠른 암호이며 AESNI를 지원하는 경우 RC4보다 훨씬 빠릅니다. 그렇지 않으면 약 54 % 느려집니다. AES-256은 여전히 느리며, 달리 명시 적으로 구성하지 않는 한 AES-128을 지원하는 모든 브라우저는 AES-256도 지원합니다.
위에서 인용 한 것은 arcfour (및 AESNI가있는 AES )가 현대 머신에서 기가비트 링크를 포화시킬 수 있음을 분명히 보여줍니다 .
암호화가 필요하지 않은 경우 hpn-ssh의 암호 없음이 훨씬 빠르지 만 기가비트 링크 대역폭의 몇 배로 링크를 포화시켜야하거나 CPU 사용량을 줄여야하는 경우에만 필요합니다.
arcfour
최신 OpenSSH 설치에서 암호가 더 이상 사용되지 않고 누락되었습니다 chacha20-poly1305@openssh.com
. 대신 사용할 수 있습니다 .
암호화가없는 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/
,bind=127.0.0.1
옵션을 사용하십시오 . 서버에 여러 연결을 허용하려면 ,fork
옵션을 추가하십시오 . 읽기 전용 서버를 만드시겠습니까? -R
EXEC 명령에 추가하십시오 . 결국, 다음과 같이 보일 것입니다 socat TCP-LISTEN:7777,fork,bind=127.0.0.1 EXEC:'/usr/lib/sftp-server -R'
(아치 리눅스에서는 /usr/lib/ssh/sftp-server
대신 사용해야 했습니다).
,range=192.168.1.2/32
하기 위해 예를 들어 하나의 특정 컴퓨터 만 연결할 수 있도록 IP 범위를 제한 할 수도 있습니다.
와 함께 장착 -o compression=no
하여 압축을 해제 할 수 있습니다 . 암호화를 해제 할 수 없으며 그 후에는 sshfs가 될 수 없습니다 :) 느리다면 samba, nfs 또는 ftp를 통해 디렉토리를 마운트하는 다른 방법을 사용하는 것이 좋습니다.
압축 시간이 데이터 전송 시간으로 보상되는 경우 압축은 실제로 더 빠르다고 생각합니다. 따라서 느린 연결에서 압축하면 속도가없는 것보다 최대 6 배 빨라집니다. 빠른 연결에서의 압축은 사용자 또는 호스트 시스템의 압축 지연으로 인해 속도가 떨어 지므로 전혀 유용하지 않습니다. 일부 호스트는 사용자에게 프로세서 전원을 소비하지 않기 때문에 압축을 전혀 허용하지 않습니다.
이 스위치 -o Ciphers=arcfour
는 암호화 속도를 거의 암호화하지 않고 -o cache=yes -o kernel_cache -o large_reads -o compression=no
증가시키고 sshfs를 약간 최적화함에 따라 속도를 크게 높일 수 있다고 생각합니다 . 저속 연결에서 압축하면 압축이 가능한 경우 전송 속도가 크게 향상됩니다. 대부분입니다. 예를 들어 2Mbit / s down 및 0.3Mbit / s up 연결로 사용하고 약 30MByte 동안 25-30 분 대신 약 3-5 분 정도 전송 속도를 높입니다.