なんでもいいので root からリモートホストにパスワードを聞かれずに SSH でログインできるようにしておく。ssh-keygen でパスフレーズなしの鍵を作るのが無難。
sshfs と autofs をインストールする。
$ sudo apt-get install sshfs autofs
/etc/fuse.conf
user_allow_other
/etc/default/autofs
デフォルトではまともな出力が得られないので、安定するまでは debug にしておく。気休め程度の出力しか得られないが。
LOGGING="debug"
/etc/autofs.master
+auto.master はコメントアウトしないと syntax error がどうの言われる。
#+auto.master /mnt/sshfs /etc/auto.sshfs --timeout=30,--ghost
/etc/auto.sshfs
大文字のところは環境に合わせて設定する。UID, GID は id で調べる。オプション等は適当に。セパレーターは \t なのかな。
マウントは root で実行されるようなので IdentityFile はフルパスで明示的に指定した方が良い。LOGGING=”debug” にしても connect できなかったとしか言わないので。
ここで細かな設定を行うよりも、/root/.ssh/config に書いて 2 行目のようにした方が分かりやすい。
MOUNTPOINT -fstype=fuse,uid=UID,gid=GID,port=PORT,IdentityFile=/PATH/TO/PRIVATE_KEY_FILE,rw,nodev,nonempty,noatime,reconnect,allow_other,hard_remove,compression=yes,max_read=65536,max_write=65536 sshfs\#USER@HOST: MOUNTPOINT2 -fstype=fuse,allow_other :sshfs\#NAME_AT_CONFIG\:/
動作確認
autofs をリスタートして動作するか確認する。
$ sudo service autofs restart
後は適当に使う。smbd で Windows 向けに公開してもいい。dokan sshfs よりはずっと安定してる。
autossh
$ sshfs -o ssh_command=autossh HOST: /mnt/MOUNTPOINT
で何とか出来るかと思ったけど時間が経つとハングアップするので諦めた。