次に、DokanSSHFSを使う準備として、専用のユーザーとSSH接続の準備をします。
1)ユーザーの追加
システム管理の下のユーザー管理ではユーザーを追加できないようです。
かといって、adduserコマンドで暗号化オプションを追加してもNGでした。
で、結局、こうなりました。
$ sudo apt-get install ecryptfs-utils $ sudo adduser --encrypt-home dokan
2)SSH接続する
まずサーバー側です。(本来はクライアント側で鍵生成した方が良さげな気もしますが、途中の経路はセキュアなはず・・・・なので、サーバー側で生成しました)
$ ssh-keygen -t dsa $ cd ~/.ssh $ cat id_dsa.pub > authorized_keys
次にクライアント側です。まず、UbuntuからSSH接続できることを確認します。
まず、何らかの方法でホスト側の秘密鍵(~/.ssh/id_dsa)をローカルホストの ~/.ssh/id_dsa.dokan として持ってきます。その後、
$ ssh -p (ポート番号) -l dokan -i ~/.ssh/id_dsa.dokan (ホストIPアドレス)
で鍵生成時のパスフレーズを入力することでSSH接続ができました。
3)追伸
・・・・と思ったら、ホスト側でログインしている dokan ユーザーがログアウトするとSSH接続できなくなってしまいます。 当然といえば当然ですが、~/.ssh/authorized_keys が見えなくなってしまうからのようです。ログインしていない状態(=暗号化されたままの状態)で、別のユーザーから
$ sudo sh # cd /home/dokan # mkdir .ssh # chown dokan.dokan .ssh # chmod 700 .ssh # cp (どこか見える場所)/authorized_keys .ssh/. # cd .ssh # chown dokan.dokan authorized_keys # ls -la -rw-r--r-- 1 dokan dokan 608 2012-04-08 19:00 authorized_keys # cd .. # chmod 500 .ssh # ls -la dr-x------ 2 dokan dokan 4096 2012-04-08 19:00 .ssh
として、ホームディレクトリの復号化前に見える場所に .ssh ディレクトリを作ってやれば良いようです。(こちらを参考にしました)
この辺がややこしいのでさくらのインストールマニュアルでは暗号化ホームディレクトリは削除してあるのかもしれませんね。
4)さらに追伸
これでもまだダメっぽい。「ecryptfs-mount-private」コマンドで暗号化ホームディレクトリを可視化するのだけど、効果がない。調べると、当該ユーザーがecryptfsグループに属していないといけならしい。というわけで、
$ sudo groupadd -g 124 ecryptfs $ sudo gpasswd -a dokan ecryptfs ユーザ dokan をグループ ecryptfs に追加
で、この後、当該ユーザーから、
$ ecryptfs-mount-private
とすると、ホームディレクトリが切り替わりました。・・・が、ログインと同時には切り替わりません・・・(泣)
ドキュメントによれば、「~/.ecryptfs/auto-mount」を消して、touchで作り直せばできるようになるっぽいことを書いてあるんだけど、それもうまくいかないし。