Macfusion と SSH tunneling を組み合わせる

Macfusion を使うと、SSH を経由して、remote server の file system を mount することができます。例えば研究室の Mac に自宅から接続し、Finder 上で SSH の存在を感じることなく、接続先の file を手元に持ってくることができます。

さて、Stanford で使っている Mac の 22 番 port は大学外へ公開されていないため、gateway に一度 SSH で入り、そこから目的地の Mac へ再度 SSH をしなくてはいけません。しかし、この gateway を跨ぐという作業は、Macfusion では直接取り扱えません。

そこで、SSH tunneling を使って、自宅からでも大学の Mac に Macfusion で接続できる方法を考えてみました。

まずは、以下のようにして gateway に接続します。ここで、bar.stanford.edu が gateway serverで、foo.stanford.edu が実際に Macfusion で mount したい Mac だとします。-L を使って、手元の Mac の 8022 番 port に tunneling させています*1。これを Terminal.app から実行し、terminal を開きっぱなしにしておきます。

[oxon@localhost ~]$ ssh -L 8022:foo.stanford.edu:22 oxon@bar.stanford.edu

次に、Macfusion を開いて、次のように新たな mount 先を登録しましょう。

設定は、以下の通りです。Host 名を "localhost" とし、また使用する port を先ほど指定した 8022 番にします。

後は "Mount" を押して、いつも通りにこいつを mount させてやるだけです。Macfusion を使って mount している間は、先ほどの terminal は閉じないようにしましょう。

*1:別に 8022 番じゃなくとも、空いている番号なら何でもいいです。