sshfsでlocalhostをマウントする
Underconstruction by Taiyo@hatena - Fuseを使って手抜きで書いた手順に追加。
1. 材料
macfuse - Google CodeのdownloadからMacFUSE Core Installer PackageとSSH File System for MacFUSEをダウンロード。
3. MacFuse Coreのインストール
パッケージメーカーなので普通にインストール。
再起動が必要。
4. sshfsを起動する
起動時にマウントするsshを指定するダイアログボックスが表示される。この後、sshの設定によってパスワードを求められたりする。
マウントすると以下の状態。
sshfsは現在のユーザのssh接続を用いるが、現れるダイアログへの入力はプロンプトへ直接入力される。
イマドキのサーバだと初めて接続するときにこんなプロンプトが出てくるはずだが、sshfsではsshfs passwordというダイアログが表示される。ここでyesを入力するとプロンプトにyesを入力したのと同じ結果になり、パスワードの入力に進める。
The authenticity of host '[hostname]' can't be established.
RSA key fingerprint is xx:xx:....
Are you sure you want to continue connecting (yes/no)?
つなげない?。と思ったらまずターミナルでつないでみる、ってのが常道だけど、known hostへ追加するだけだってことがわかってるときは一枚目のダイアログにyesを入力してみよう。
一度、マウント先のsshへ接続してパスワード入力だけで済むようにしておく必要がある。
まとめ
今目の前にあるコンピュータの別のユーザのホームディレクトリをマウントして何が楽しいのか?と思われるかもしれないけど、keychainをコピーしたり一般ユーザから管理者アカウントに保存したファイルを読みにいったりできる。
もちろん真っ当な用途(管理しているサーバでの作業を行う)にはとても便利だ。サーバに入ってやることって、実はほとんどファイル操作だったりするでしょ。そんなことないって人もhistory見てみよう。lsとかcpとかmvとかchownとかが半分位を占めてるんじゃないかな?GUIで操作できるファイルシステムにマウントすると、少なくともlsの手間はなくなるね。
ローカルのファイルシステムになるのでターミナルでの操作が必要になったときでもサーバのプアな環境ではなく、リッチなユーザーランドで作業ができるし、複数の管理サーバを同じユーザランドで扱えるのもいい。
上記のコマンドって他のサーバだから入力補完できないんだけど、ローカルホストなら/Volumes/210.xx.xx.xx/[tabstop]で補完できる。面倒なscpがいらないのもイイ*1
scp hoge.txt who@210.xx.xx.xx:/home/hoge/xxx
*1:ゲイトウェイの向こう側だけで作業するなら必要なんだけど、それでも相当手間は減る。