UNIX的なアレ

UNIX的なこととかいろいろ

sshでリモートサーバーをマウント、便利にsshfs

開発の作業をしているときは、複数のホストのサーバーを行き来していろいろとオペレーションをするようなことがあると思います。
そんなときに1つのサーバーから作業できるよう、ssh経由でリモートのサーバーをマウントし、Localのファイルシステムのように見せることができるsshfsを紹介したいと思います。

sshfsのインストール

Debian/Ubuntuならaptで簡単インストールできます。なお、fuseグループに入っている必要があるので、その設定まで実施します。なお、ユーザー名はwadapで実施します。

$ sudo apt-get install sshfs
$ sudo adduser fuse wadap
$ newgrp fuse

以上、簡単ですね。

早速リモートホストをマウント

リモートホストをマウントするのは簡単です。マウントポイントをつくって、sshfsコマンドを実行するだけ。なお、sshのプロトコルで通信するので対象のサーバーにアカウントは必要です。
下記は、wadapというユーザーで、remoteserverというサーバーを、~/mntというマウントポイントにマウントする手順です。

$ mkdir mnt
$ sshfs wadap@remoteserver:/ mnt
$ df 
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda1              9835552   1295624   8040312  14% /
varrun                  127952        40    127912   1% /var/run
varlock                 127952         0    127952   0% /var/lock
udev                    127952        52    127900   1% /dev
devshm                  127952         0    127952   0% /dev/shm
sshfs#wadap@remoteserver:/
                     1048576000         0 1048576000   0% /home/wadap/mnt

正常にマウントできましたね。これで対象のマウントポイントへはLocalのファイルシステムの様にアクセスすることができます。
またマウントする際のオプションもいろいろとありますので、自分にあったオプションをつかってみてください。

Mac用にはMacFuse

なお、Macから使う際はMacFuseというものが用意されています。
Google Code Archive - Long-term storage for Google Code Project Hosting.
こちらも導入が簡単なので、興味がある方は是非トライしてみてください。下記の画像の様に簡単にリモートホストをマウントすることができます。

注意事項

sshfsはとても便利ですが、自分以外の人もアクセスできるようなオプションもつけることができます。当然ながら、自分のアカウントでマウントしているので、他の人も自分のアカウントで作業をできてしまうことになりますね。
間違って使ってしまうと問題になることもあると思うので、共有のサーバーで使う際は注意して使ってください。