coLinux(Debian)にsshfsをインストールしてリモートサーバのファイルを直接編集する(インストールメモ)
shfsが超便利! - 2nd lifeより
shfsでSSHでログインできるサーバのディレクトリをマウントしてsambaで共有してごにょごにょ、とできるらしいです。
とても便利そう…ということで試しにインストールしてみます。
apt-cache search で検索するとsshfsという同じ(?)ものがあったのでこちらをインストールしてみます。
sshfsはfuseというパッケージを利用しているのですが、自分でコンパイルしてあげないといけないようです。
今回の環境は
- http://www2.starcat.ne.jp/~kanocl/colinux/colinuxscratch.htmを参考にしてインストールしたDebian
- coLinux-0.6.4
インストールメモ
# まずはkernelを更新 apt-get update apt-get dist-upgrade # 必要なパッケージをインストール apt-get install kernel-package apt-get install module-init-tools apt-get install wget apt-get install fuse-source apt-get install sshfs apt-get install ssh apt-get install module-assistant apt-get install gcc-3.4 # gcc ln -sf /usr/bin/gcc-3.4 /usr/bin/gcc # fuse-sourceがここにインストールされているはず cd /usr/src # 現在入っているバージョンのkernel-source wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.11.tar.gz wget http://nchc.dl.sourceforge.net/sourceforge/colinux/coLinux-0.6.4-src.tar.gz tar zxf linux-2.6.11.tar.gz tar zxf coLinux-0.6.4-src.tar.gz tar jxf f*.bz2 ln -s linux-2.6.11 linux cd linux patch -p1 < ../coLinux-0.6.4/patch/linux cp ../coLinux-0.6.4/conf/linux-config .config make-kpkg --append-to-version '-co-0.6.4' modules_image cd .. dpkg -i *.deb # fuseグループ(デフォルト)にsshfsを使うユーザを追加する vi /etc/group
これでsshfsを使うことが出来るようになります。
例:
sshfs sshusr@remotehost:/home/htdoc /mnt
マウントしたディレクトリはsshfsコマンドを実行したユーザしか見れないのですが、設定があるようです。(from:http://datafarm.apgrid.org/document/html/ja/user/samba-gfarmfs.html)
Samba を経由して FUSE を使ったマウントポイントにアクセスするには, FUSE のセキュリティに関する設定が必要になります.
FUSE 2.2.1 以前では,以下の /etc/fuse.conf の設定は必要ありません.(補足もご覧ください.)
/etc/fuse.conf を作成し,以下のように編集します. FUSE のインストール直後は,このファイルがありません./etc/fuse.conf user_allow_other
後はsambaをインストールして設定するだけでWindowsでsshfsでマウントしたディレクトリを見ることが出来ると思います。
ssh-agentなどを利用するとsshでのログインを簡単にすることが出来るようになるそうなのですが、まだ試していません。