fuse-sshfs

複数の Linux サーバーを運用していると、サーバー間でファイルをコピーまたは移動する必要がよくあります。CMU エクスポート、MySQL ダンプ、その他さまざまなケースがあるでしょう。

もちろん、その方法はいくつもあります。FTP、SCP、NFS (あまり勧められません)、SMB などです。

NFS はあまり安全ではなく、SMB はたまに使うだけにしては設定の手間が大きすぎます。各方式には長所と短所があります。

BlueOnyx は "fuse-sshfs" もサポートしています。

"fuse-sshfs" とは?

SSHFS (Secure SHell FileSystem) は、Linux (および Mac OS X や FreeBSD など FUSE 実装を持つ他 OS) 向けのファイルシステムで、リモートコンピューター上のファイルを、安全なシェルログインだけで扱えるようにする仕組みです。

SSHFS をマウントするローカルコンピューターでは、FUSE (Filesystem in Userspace) カーネルモジュールを利用します。実際には、ユーザーは SSH 経由で安全に提供されるリモートファイルを、自分のコンピューター上のローカルファイルのようにシームレスに扱えます。リモート側では SSH の SFTP サブシステムが使われます。

インストール方法

必要なのは、YUM でインストールするだけです。

yum install fuse-sshfs

これにより fuse-sshfs、fuse、fuse-libs がインストールされます。

使い方

たとえば、BlueOnyx サーバー here.company.com にログインしていて、there.company.com 上のディレクトリ /home/export へアクセスしたいとします。

まず、上記のとおり fuse-sshfs をインストールします。これはマウントを実行する側のサーバーだけに必要です。この例では here.company.com です。マウントされる側では SSH が動作していればよく、fuse-sshfs をインストールする必要はありません。

次に、here.company.com 上で、there.company.com/home/export をマウントしたい空ディレクトリを root で作成します。

here#> mkdir /home/there

続いて、次のコマンドで SSHFS 経由でリモートディレクトリをマウントします。

here#> sshfs -p 22 root@there.company.com:/home/export /home/there 

パラメータ -p 22 は、接続先サーバー (there.company.com) の SSH ポートを指定します。通常 SSH はポート 22 なので省略可能ですが、別ポートで動いている場合は正しいポートへ変更してください。

作業が終わったら、次のようにアンマウントできます。

here#> umount /home/there

詳細は SSHFS の man ページを参照してください。

man sshfs