MacFUSE で sshfs を試す
http://code.google.com/p/macfuse/
ダウンロードして展開されたフォルダから, MacFUSE Core.pkg をダブルクリックしてインストール. 再起動.
sshfs-0.3.0.dmg をマウントして,その中の sshfs をダブルクリック.
sshfs をアプリケーションフォルダにコピーするかどうかのダイアログが あがってくるので,「Copy」をクリック.
サーバ名,ユーザ名を入力するダイアログがあがるが, とりあえず「Cancel」.
コマンドライン版は,
/Applications/sshfs.app/Contents/Resources/sshfs-static
にある.
GUI で起動する場合で,初めて ssh で接続する先, つまり ~/.ssh/known_hosts に登録されていない先には パスワードが通らない.
これは,内部的に ssh を使って接続しようとしているため, known_hosts に登録されていないサイトに接続するかどうかの プロンプトが出ているためと思われる.
この場合,一旦ターミナルで ssh で接続してやるか, パスワードを入力するダイアログに "yes" と入力してやる.
これを綺麗に解決するには,グローバルな known_hosts つまり /etc/ssh_known_hosts を書いておいてやる.
それと,パスフレーズなしの公開鍵で認証すれば, パスワード入力なしで接続できる.
コマンドライン版は,
/Applications/sshfs.app/Contents/Resources/sshfs-static
にある.
コマンド例
$ mkdir /tmp/SSH $ sshfs-static tanaka@example.jp: /tmp/SSH \ -oreconnect,ping_diskarb,volname=MyVolume
いくつかのサイトで報告されているように,ファイルの上書きが遅いとか いった感じはしない.
比較的大きなファイルをコピーしても,そんなにストレスなく使える.
ただし,Finder で表示される空き容量はでたらめのようで, ずっと 「1,000 GB」空きの表示のまま. また,資料状況も「0 KB」のまま. まあ仕方ないわなぁ.
パスフレーズのない公開鍵を作っておいて, ログイン時にホームとしてマウントするというのもあり?
Automator をたちあげ, 「ライブラリ」=「アプリケーション」から 「アクション」=「シェルスクリプトを実行」をドラッグし, 右側のぺインへ.
シェルスクリプトを実行するところに以下のスクリプトを書き込む.
#!/bin/sh if [ ! -d /tmp/SSH ] then mkdir /tmp/SSH fi /Applications/sshfs.app/Contents/Resources/sshfs-static ${USER}@サーバ名: /tmp/SSH -oreconnect,ping_diskarb,volname=SSH,follow_symlinks (この2行は実際には 1行)