web-dev-qa-db-ja.com

NautilusはSFTPのような/代わりにSSHFSをセットアップできますか?

SFTPを使用してリモートファイルシステムをマウントするようにNautilusをセットアップしました。

これまでのところうまくいきますが、SFTPには役に立たない問題があるようです:

  1. 既存のテキストファイルを上書きすると、グループの読み取り権限がリモートマシンで不可解に削除されます。
  2. Thunderbirdにドラッグしてファイルをメールに添付しようとすると、TBが使用できないsftp:// URLが表示されます(TB接続ダイアログを開いて参照すると.gvfsでも、すべて順調です)。

SSHFSを使用して同じファイルシステムを手動でマウントしても、これは発生しません。 SSHFSを使用するようにNautilusを構成することは可能ですか?多分プラグイン?使用可能なオプションの「サーバーへの接続」リストには表示されません。

EDIT:sshfsはバックエンドとしてsftpプロトコルを使用することが指摘されています。それは本当かもしれませんが、本当の問題は、Nautilusを介したファイルへのアクセスがsshfsを介したマウントよりもスムーズではないことです。

2
ams

から Wikibook OpenSSH

ファイルをやり取りしたり、リモートで使用したりする別の方法は、sshfsを使用することです。これは、SFTPベースのファイルシステムクライアントであり、sftpサブシステムを利用します。リモートサーバー上のディレクトリを、ローカルファイルシステム上のディレクトリとしてアクセスできるようにすることができます。ローカルファイルシステム上のディレクトリは、ローカルディレクトリであるかのように、任意のプログラムからアクセスできます。ユーザーは、sshfsを使用するには、マウントポイントの読み取り/書き込み権限が必要です。

最後に、両方とも同じコミュニケーション方法です。 SSHFSはSFTPを使用します。違いは、sshfsは、SFTP経由でアクセスできるドライブをマウントできるファイルシステムドライバーであるということです。ただし、Nautilusはドライブをマウントせず、それらを表示するだけです。ファイルシステムを/ etc/fstabに追加して、ブート時にマウントすることができますが、ssh接続が利用できない可能性があるため、お勧めしません。より簡単なのは、スタートアップアプリケーションとして実行できるbashスクリプトをセットアップすることです。

#2で説明した動作は論理的なものです。SFTP経由でのみ接続しているため、Thunderbirdにドラッグしたファイルはファイルシステムに存在せず、リモートパスとして存在します。

コメントのために編集します。

たぶん私はそれが十分ではないと説明した。次に例を示します。リモートリソースがサーバーfooserver上にあり、ルートディレクトリがfoodirである場合、ファイルはfoosubdir/foofileにあり、リソースソースパスはsftp://fooserver/foodir/foosubdir/foofileです。 Nautilus SFTPを使用する場合、これはこのファイルにアクセスするための唯一のパスであり、リモートです。代わりにsshfsを使用すると、foodirの内容がファイルシステム内から利用可能になります-sshfsはファイルシステムドライバーです。次に、ファイルがハードディスクに保存されているかのようになります。 ressource sftp://fooserver/foodirの内容は、マウントディレクトリ~/.gvfsに論理的にマップされます。その後、Thunderbirdは~/.gvfs/foosubdir/foofileとしてローカルファイルシステムコンテキスト内からこのファイルにアクセスできます。 Thunderbirdは、それがリモートファイルであることにも気付きません。klinuxカーネルに統合されたsshfsファイルシステムドライバーは、それを抽象化します。

1
Michael K