WindowsからSSHFSを使う

はてなブックマークに追加   del.icio.usに追加   livedoorクリップに追加   Technoratiに追加   2008年08月01日 04:11:44 (Fri)

SSHFSを使うとSSH経由で、リモートのディレクトリを直にマウント出来る。

例えば、WinSCP等のソフトを使ってファイルのアップロード・ダウンロードしていたのであれば、そういう作業は必要なくなり、普通のディレクトリとして扱う事が出来る。

もちろん、LinuxからLinuxだったり、MacからLinuxのようにNFSと同じように扱う事も出来る。

これらを導入するメリット・デメリットは以下のようになる。

・メリット
1. NFSよりもセキュア
もしローカルエリアネットワーク内ではない箇所からNFSを使おうとした場合、それは危険な行為になる。確実なセキュアではないが、少なくともNFSよりは安全にリモートのディレクトリを扱う事が出来る。
2. WindowsからSSHサーバーのディレクトリにアクセスする事が容易
SSHFSを使うと、Windowsのドライブとして直にマウント出来たり、または米ネットワークから共有ディレクトリとしてアクセスする事が出来るため、アクセスが容易になる。
Windowsから他OSのリモートディレクトリにアクセスする場合、ローカルエリアネットワーク内であればSambaという選択肢もあるが、NFS同様に危険。
WinSCPや類似したソフトウェアを使った場合、アップロード・ダウンロードという形でアクセスするため、面倒だったり、FFFTP等のFTPクライアントに慣れていない人にとっては敷居が高くなる。

・デメリット
1. 転送速度が遅い
まず、NFSに比べて遅い。色々な原因があるとは思うが、単純にNFSそのものがSSHFSよりも最適化されているだけだと思う。
また、WinSCP等のSSHクライアントでの転送と比較しても遅い。根本的にはSFTP経由でファイルを転送しているだけなので、違いが出るとしたら複雑なディレクトリにアクセスしたり、巨大なファイルを転送した場合だと思う。
2. 導入の敷居が高い
Linuxのいくつかのディストリビューションで試したところ、NFSと同等もしくはNFSより手軽に扱えるディストリビューションが少なかった。ライブラリ等のパスが通っていないがために手動で直したり、ライブラリ自体を別途入手する必要があった。
Windows上では、Dokan SSHFSというソフトウェアを利用させてもらったが、Windows XP、Vistaで尚且つ.NETフレームワーク2.0とVisual C++ 2005 SP1再配布可能パッケージ、Dokanライブラリが必要なため、Windows2000等では利用出来ない。
また、何らかの事情で.NETフレームワークを利用出来ない場合もNGになる。

これらのデメリットがあるが、それでも導入するメリットはある。
それは以下のような人たちだと思う。

・外部ネットワークのサーバーに接続し、ファイルの更新を頻繁に行う人
・WindowsからSSH経由でのファイルアクセスをして欲しい(もしくはしたい)が、難しい・面倒と感じる人

上記に当てはまらない人は、SSHFSの事は忘れて今までどおりのやり方でファイルを扱った方が時間を無駄にせずに済むと思う。

また、VPNというソリューションもあるが、そもそもの概念が違う事と、利用を誤ればセキュアは全く確保されない事になるので、自分にとってVPNよりも身近であるSSHを選択した。

Windowsからの導入方法として、以下の2つを試してみた。
・Dokan SSHFSを使う
・VMware上のLinux(Ubuntu)からSSHFS経由でマウントさせ、そのマウントポイントをSambaとして共有する

長くなったので、次の記事でそれぞれの導入方法、使い方を書こうと思います。