coLinux(Debian)にsshfsをインストールしてリモートサーバのファイルを直接編集する(インストールメモ)


shfsが超便利! - 2nd lifeより
shfsでSSHでログインできるサーバのディレクトリをマウントしてsambaで共有してごにょごにょ、とできるらしいです。
とても便利そう…ということで試しにインストールしてみます。

apt-cache search で検索するとsshfsという同じ(?)ものがあったのでこちらをインストールしてみます。
sshfsはfuseというパッケージを利用しているのですが、自分でコンパイルしてあげないといけないようです。


今回の環境は


インストールメモ

# まずは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でのログインを簡単にすることが出来るようになるそうなのですが、まだ試していません。