web-dev-qa-db-ja.com

sshとsshfsのnfsの違いは何ですか?

ホームサーバー(Linux)からインターネット経由でフォルダーをマウントするソリューションを探しています。誰も私のファイルの内容やメタデータを読み取れないように、データは暗号化する必要があります。

私は複数の解決策を見つけました:

  1. sshトンネル上のnfs4 ここで説明されているように
  2. sshfs

誰かが違いを説明できますか?どちらの方法がより良い(より安全な)方法ですか?また、ファイル処理に違いはありますか(たとえば、サーバーへの接続が失われた場合)?

7
oceanBT

名前が示すように、NFSはネットワークファイルシステム、つまりファイラー上のファイルにアクセスするために設計されたプロトコルです。複数のサービスで構成され、複数のポートを使用するため、少し不格好でセットアップが難しいように見える場合があります(ファイアウォール...)が、NFSは非常に信頼性が高く、いつどのように使用するかを知っている場合は、おそらく最適なツールです。仕事。

一方、SSHFSは、SSHの上にスタックされた(ユーザースペース)ファイルシステム層であり、ファイルシステムプロトコルではなく、リモートシェルプロトコルです。したがって、NFSほど信頼性が低いか、機能が不足している可能性があります。たとえば、適切なファイルシステムはすべて、ファイルを操作するときにメタデータを考慮に入れます。ターゲットがNFS共有であるか、NTFSパーティションを備えたUSBドライブであるかに関係なく、ファイルをコピーするときは、少なくとも「変更された」日付が常に保持されます。残念ながら、SSHFS共有にファイルをコピーしている場合、この情報が失われる可能性があります。

SSHFSは、リモートサーバーでいくつかのファイルを開きたいだけで、それだけの場合に最適です。パスワードなしのキーが設定されていると仮定すると、必要なのは、お気に入りのファイルマネージャー(Cajaなど)のアドレスバーに「ssh:// myserver」と入力するだけで、そこにいます。これは、家にいないが自宅のコンピューターでいくつかのドキュメントを確認したい場合に便利です。ただし、重要なファイルや写真をその方法で自宅のコンピューターにコピーしないでください。ただし、これらのファイルを日付で検索または並べ替えることができなくなることを気にしない場合を除きます。

信頼性の高いファイルシステムが必要な場合、実際にファイルシステムを操作する必要があり、何も失いたくない場合は、NFSを使用してください。 NFSは、プラグを抜く可能性のある一時的な接続ではなく、静的環境で使用するように設計されていることに注意してください。 NFS共有がマウントされていて、サーバーへの接続が切断された場合、データの損失を防ぐために、サーバーが戻るまでマウントがフリーズします(そのマウントにアクセスしようとするすべてのプログラムもフリーズします)。インターネットなどの信頼性の低いネットワークでNFSを使用している場合は、「ソフト」オプションを使用して、システムをフリーズさせるのではなく、切断時に開いているファイルを失うことをシステムに通知する必要があります。

3
basic6

SSHFSは、SSHサーバーのサブシステムであるSFTPプロトコルを使用しています。この手法では、Fuseも使用して、ユーザースペースプログラムからファイルシステムにアクセスできるようにしています。

NFS4 over SSHは、SSHトンネルを介してネイティブNFSプロトコルフォワーダーを使用しています。

ユーザーにとっては同じように聞こえるかもしれませんが、違いはIO)を処理するメインプロトコル(SFTP x NFS)にあります。

3
Jakuje