圧縮または暗号化なしのsshfsマウント


28

私は、ネットワーク経由でさまざまなディスクをマウントするためにsshfsを頻繁に使用しています。ただし、sshfsを使用してディレクトリをマウントする必要がある非常に小さなマシン(Atomプロセッサを搭載)があります。

ディレクトリのマウント元のマシンでのCPU使用量を制限するために、sshfsを使用してマウントする場合、すべての圧縮を無効にすることはできますか?


1
暗号化と圧縮を削除しています...考えさせてください。FTPまたはSMBを使用しないのはなぜですか?
ラジュエット

1
暗号化はSSHのようには聞こえません。別のプロトコルをすべて使用することを検討しましたか?
WhyNotHugo

2
@lajuette:Dan D.が以下に述べているように、ssh認証は暗号化されたままなので、プレーンテキストのパスワードやキーはありません。また、sshfsと同じくらい簡単にリモートフォルダをマウントできるsshと同じくらい簡単に利用できるプロトコルを知っていますか?
ビャルケフロイントハンセン14年

@lajuette私は同じ種類のものが欲しいので、私の理由は、隔離されたWin98とWinXPのレトロゲーム機がLinuxデスクトップPCからファイルを引き出すために使用できるものが必要だからです。正しいポートを開こうとしてもFTPとSMBは機能しませんが、ホワイトリストはファイアウォールを隔離します。(そして、WebDAVは明らかにApacheによってのみ提供され、chrootするには複雑すぎます。)
ssokolow

さらに、AESはAthlon64 3200+で27Mビットのスループットを提供し、CPUを最大化しますが、RC4はそれを2倍にします。そのため、WinXP側で100Mbit NICの最大化に近づく暗号化はありません。(問題のコピー操作の両端に現在インストールされている回転錆ドライブは、SMBがシークの必要性をなくすために連続ファイルで使用される場合、最大約200Mbitになります。)
ssokolow

回答:


38

高性能sshはどれも暗号を追加し、ARCFOUR暗号は、ほぼ同じ速度と標準含まれています。

つかいます: -o Ciphers=arcfour

ローカルネットワークでこれを使用していて、100 Mbpsイーサネットの約85%または約10.625 MB / sを取得しています

(応答vavaの回答では、sshの暗号化がオフの場合でも、sshfsはそのままです。認証プロトコルはまだアクティブであるため、telnetを使用することもできます。)


@osgxについての注意最近、次のグラフを含むOpenSSL:Cipher Selectionを見つけました。

ここに画像の説明を入力してください

以下は、そのページの結果セクションです。グラフと結果は、ベンチマークがどのように行われたのか、どのハードウェアで行われたのかを示していないため、疑わしいですが、それほど遠くはないと思います。

100,000 Kbyte / sは、許容可能なパフォーマンスのしきい値です。これは、780Mbit / sのデータを転送するために100%の使用率で動作する1つのCPUコア(私の場合は8つ)を表します(これは、ギガビットイーサネットリンクの飽和点です)。

AESNIをサポートしないプロセッサを使用している場合、RC4は最速の暗号です

AES-128は次に高速な暗号であり、AESNIをサポートしている場合はRC4よりもはるかに高速です。そうしないと、約54%遅くなります。AES-256はさらに低速です。明示的に設定しない限り、AES-128をサポートするブラウザーはAES-256もサポートします。

上記で引用されたことは、arcfour(およびAESNIの AESも)が最新のマシンでギガビットリンクを飽和させる可能性があることを明確に示しています。

暗号化が必要ない場合、hpn-sshからのnone暗号はさらに高速ですが、ギガビットリンクの数倍の帯域幅でリンクを飽和させる必要がある場合、またはCPU使用量を削減する必要がある場合にのみ必要です。


非常に有益な答えをありがとう、これは本当にsshfsをスピードアップします:)
nXqd

3
'-o cipher = arcfour'ではありませんか?
asalamon74

1
arcfourは1Gビットの速度を達成しますか?
osgx 14年

1
@osgxはい、そう思います。更新された回答を参照してください。
ダンD. 14年

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
これは理論的に問題を解決するかもしれないが、リンクの内容を要約し、参照としてリンクを提供することが好ましいであろう
カナダのルークREINSTATE MONICA

3
デフォルトでは、socat TCP-LISTENはすべてのインターフェイスでリッスンします。特定のネットワークインターフェイス(localhostなど)に制限するには、,bind=127.0.0.1オプションを使用します。サーバーへの複数の接続を許可するには、,forkオプションを追加します。読み取り専用サーバーを作成しますか?-REXECコマンドに追加します。最終的には、次のようになりますsocat TCP-LISTEN:7777,fork,bind=127.0.0.1 EXEC:'/usr/lib/sftp-server -R'(Arch Linuxでは、/usr/lib/ssh/sftp-server代わりに使用する必要がありました)。
Lekensteyn

もう少しセキュリティを強化するために、たとえば,range=192.168.1.2/32、特定の1台のマシンのみが接続できるようにIP範囲を制限することもできます。
ロビンディンセ

3

暗号化を無効にする方法はありません-これは結局sshです。また、-Cスイッチで要求する必要があるため、デフォルトでは圧縮が無効になっているようです。

ただし~/.ssh/config、圧縮に関する設定については、ファイルを確認することをお勧めします。そのファイルの先頭に次の行を追加する場合、圧縮を無効にする必要があります。

Host *
    Compression no

2

with -o compression=noをマウントして、圧縮をオフにすることができます。暗号化をオフにすることはできません。その後はsshfsになりません:)遅い場合は、samba、nfs、またはftpなどの別の方法でディレクトリをマウントすることをお勧めします。


NFSが良い選択です
ジェレミーL

とにかくデフォルトは「compression = no」のようです。
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のアップ接続で使用し、約30 MByteの場合、25〜30分ではなく、約3〜5分だけ転送を高速化します。


ある意味では、受け入れられた答えよりも良い情報を提供していない
-yass

受け入れられた答えは圧縮についても言及していません。この答えは少し話題から外れているかもしれませんが、それでも良いアドバイスがあります。
誰か
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.