初めまして。
物理系出身で、新人の北岸です。
ブログ初投稿ですが、よろしくお願いします。
今回のテーマは 「autofs を使って、sshfs を利用する」 です。
単純にsshfsを使うより、
autofsと組み合わせた方が何かと便利かなーって思ったので、
このテーマで進めたいと思います。
というのも、毎回 sshfs コマンドを叩くのも煩わしいですし、
起動時にマウントさせる設定などしてると、
ネットに繋がっていない環境ではそこでエラーになってしまいます。
でも、autofs なら大丈夫!
そんな感じです。
用意した環境
Virtualbox 上にLinux を2台
1. Ubuntu 11.10 64bit Desktop
2. CentOS 5.7 64bit
概要
Ubuntu にて、
・公開鍵認証の設定
・autofs の設定
・sshfs でマウント
という流れで進めます。
公開鍵認証の設定
root ユーザになり、
秘密鍵と公開鍵のセットを作成するために次のコマンドを実行します。
root@ub1110x64:~# ssh-keygen |
この時、秘密鍵の場所は、「/root/.ssh/id_rsa.bright」を指定し、パスフレーズは空で設定しました。
SSH接続の際に、この秘密鍵を読み込むための設定をします。
ファイル ~/.ssh/config に、次の設定を記述します。
Host bright
User root
HostName 192.168.55.101
IdentityFile ~/.ssh/id_rsa.bright
後は、この公開鍵を CentOS に設置するだけです。
次の手順で設置しました。
root@ub1110x64:~# scp .ssh/id_rsa.bright.pub root@192.168.55.101:/root/ root@ub1110x64:~# ssh root@192.168.55.101 [root@localhost ~]# mkdir .ssh [root@localhost ~]# touch ~/.ssh/authorized_keys [root@localhost ~]# cat id_rsa.bright.pub >> .ssh/authorized_keys |
これで無事、次のコマンドなどを実行して、
Ubuntu からパスワード無しでSSH接続が出来るようになりました。
root@ub1110x64:~# ssh bright |
autofs の設定
まず次のコマンドで、sshfs と autofs をインストールします。
root@ub1110x64:~# apt-get install sshfs autofs |
次に、autofs の設定をしていきます。
これは2つのファイルに、1行ずつ書くだけです。
まず、ファイル /etc/auto.master の最終行に、次の一行を追加します。
/home/sky/bright /etc/auto.sshfs --timeout 0 --ghost
この設定の意味は、
ディレクトリ /home/sky/bright に、
ファイル /etc/auto.sshfs の内容に従ってマウントするというものです。
--timeout 0 |
これは、自動切断をする時間のための設定で、
ゼロを指定しているため、自動でアンマウントしない設定です。
--ghost |
これは、実際にアクセスするまでマウントしないという設定です。
最後に、ファイル /etc/auto.sshfs というファイルを作成して、
blue -fstype=fuse,allow_other :sshfs\#bright\:/
だけ記述します。
この設定の意味は、
ファイル /etc/auto.master に記述されたディレクトリ上の、
ディレクトリ blue に sshfs でマウントするというものです。
-fstype=fuse,allow_other |
これは、sshfs の FUSE options で allow_other を指定するという設定です。
これを加える事で、例えば一般ユーザ sky でも
マウントしたディレクトリにアクセス出来るようになります。
autofs の設定はここまでです。
最後に、次のコマンドで、autofs を再起動するだけです。
root@ub1110x64:~# service autofs restart |
autofs の設定に関する余談
1. もし、/root/.ssh/config ファイルの設定をしていなかったら
設定ファイル /etc/auto.sshfs に関しては、次のように書かないとマウント出来ません。
blue -fstype=fuse,allow_other,IdentityFile=/root/.ssh/id_rsa.bright :sshfs\#root@192.168.55.101\:/ |
2. 1 の条件で、sshfs コマンドでマウントするとしたら
次の2つのコマンドを実行する必要があります
root@ub1110x64:~# mkdir -p /home/sky/bright/blue/ root@ub1110x64:~# sshfs -o allow_other,IdentityFile=~/.ssh/id_rsa.bright /home/sky/bright/blue/ root@192.168.55.101:/ |
マウントの確認
マウントしたポイントは、/home/sky/bright/blue/ です。
次のコマンドを実行してみると、
無事にマウントが出来ている事が確認出来ました。
root@ub1110x64:~# ll /home/sky/bright/blue/ 合計 112 drwxr-xr-x 1 root root 4096 2011-11-13 03:58 ./ drwxr-xr-x 3 root root 0 2011-11-13 13:20 ../ -rw-r--r-- 1 root root 0 2011-11-13 03:57 .autofsck -rw-r--r-- 1 root root 0 2011-10-05 14:17 .autorelabel drwxr-xr-x 1 root root 4096 2011-10-28 01:00 bin/ *** (略) *** |
試しに、適当なファイルを作成してみたいと思います。
今回は Ubuntu の一般ユーザ(sky)でやってみます。
sky@ub1110x64:~$ cat /etc/issue >> ~/bright/blue/sky.txt sky@ub1110x64:~$ ll ~/bright/blue/sky.txt -rw-r--r-- 1 root root 20 2011-11-13 04:21 /home/sky/bright/blue/sky.txt |
無事に作成できました。
CentOS にログインしてみても、確かにファイルは存在してました。
[root@localhost ~]# ll /sky.txt -rw-r--r-- 1 root root 20 11月 13 04:21 /sky.txt [root@localhost ~]# cat /sky.txt Ubuntu 11.10 \n \l |
おわり
初投稿で、文章を書くのも苦手で、なかなか苦戦しました。
準備でもケアレスミスの連続で大変でした。。。
まだまだ未熟ですが、めげずに頑張っていきます!
ちなみに、自分の開発環境を Windows から Ubuntu に変更したので、
積極的にこの設定を使っていこうと思います。
物理をやってたあの頃
豆知識ってわけではありませんが、
物理をやってたあの頃の割とどうでもいい事をつらつらと。。。
研究室に、片栗粉がありました。
しかも、料理のためではありません。
水と混ぜる、それだけのためです。
それ以外の使い方を見た事がありません!
なぜ混ぜるのか、
それは、ダイラタント流体を作るためです。
もしかすると、テレビなどで、
白い液体の上を走る人を見たことがあるかと思います。
アレです。
このダイラタント流体は、
圧力を加えると固体のように振る舞い、
そうでないと液体のような振る舞いをするというものです。
実際に、水と片栗粉をスプーンでかき混ぜて、
そのスプーンでその白い液体を叩くと、
固体のような手応えを受けます。
一方で、ゆっくりスプーンをあてると、
液体のように飲み込まれていきます。
何とも不思議なやつなんです~
今度こそお終いです。
ではでは。