DigiLoog

PC関係の事なら何でもいけるそんな処

Archive for 2011年03月27日

Drobo FSにOpenSSHを入れてみた – (03)

2011年03月27日(日) - 00:00 | カテゴリ: Linux

前(エラー回避編)

6. ユーザ設定
まずユーザ登録。ちなみに、初期状態ならDashboardの方で登録してあるユーザ+パスワードとrootでログインする事が出来る。
必要なら、SSH専用ユーザをDashboard上で作成しておくといいかもしれない。

次にrootパスワードの変更(SSH鯖を入れたなら、絶対にやる。やっておかないとrootで簡単に誰でも入れてしまう)
と言っても先の通りpasswdでパスワードを変更しても再起動をかけるとなぜかrootのパスワードがrootに戻ってしまう。
なので、Dropbear付属のパスワード変更スクリプトを利用してrootパスワードを変更する。
_/_/_/_/_/ コ マ ン ド _/_/_/_/_/
# cd /mnt/(DroboFSのDNS名)/Shares/DroboApps/dropbear
# ./root_passwd(または、[# sh ./root_passwd])
//以後、普段のpasswdと同じ。
_/_/_/_/_/ こ こ ま で _/_/_/_/_/
このスクリプトではrootのパスワードしか変更する事が出来ない。
他のユーザはDashboardから変更する。

上で普通のユーザを設定したら、root以外のユーザでログインしてみる。
そこからrootになろうとしても([$ su -])、
なにかエラーがでて(メモるの忘れた(´・ω・`))rootになる事が出来ない。
これは、DroboFSで使っているBusyBoxにSUID(SetUserID)が付属されていないから(BusyBoxはググって調べる)
これがないと、BusyBoxの場合root権限でsuを実行する事が出来ないのでエラーが出る。
なので、rootで入り直して
_/_/_/_/_/ コ マ ン ド _/_/_/_/_/
# chmod 755 /bin/busybox
# chmod +s /bin/busybox
_/_/_/_/_/ こ こ ま で _/_/_/_/_/
をすれば一般ユーザからでもsuを実行する事が出来る。

7. OpenSSHの設定
と言っても大方普段のOpenSSHと同じ設定方法で大丈夫。
最低限やるとしたら、
_/_/_/_/_/ sshd_config _/_/_/_/_/
Protocol 2
PermitRootLogin no
PermitEmptyPasswords no
_/_/_/_/_/ こ こ ま で _/_/_/_/_/
の三つぐらいかと。
また、公開鍵方式でログインも出来る(当たり前っちゃ当たり前だが…)
公開鍵方式でログインをするのなら、ググればいくらでも出てくるので割愛。
唯一のコツとしては、公開鍵方式でログインしたいユーザでSSH接続をしてから、
一回[$ cd]をやってホームディレクトリに戻った状態から設定をする事と、
常にrootで入りっぱなしのコンソールを用意しておく事(もし設定を間違えたとしても、rootでログインしているコンソールが一つでもあれば設定ファイルを上書き出来る)

あとは、sshコマンドのPATHを追加する。
普段のLinuxと同じようにもPATHを追加出来るのだが、それだと様々なユーザの.bashrcを書き換えるか、
boot時に読み込む様にするかしなければならない。
NAS等でbash系は書き換えたくないので、コマンド自体へシンボリックリンクを貼る事で代用する。
_/_/_/_/_/ コ マ ン ド _/_/_/_/_/
# cd /mnt/(DroboFSのDNS名)/Shares/DroboApps/openssh/bin
# chmod 755 *
# cd /usr/bin
# ln -s /mnt/(DroboFSのDNS名)/Shares/DroboApps/openssh/bin/ssh ssh
(以下必要なコマンド全てに対してリンクを貼る)
//新規作成したコマンドパスがちゃんと/usr/binの中から呼び出されているかを検証
# which ssh
//[/usr/bin/ssh]みたいになっていればOK
_/_/_/_/_/ こ こ ま で _/_/_/_/_/
しかし、このままだとrootからしかsshコマンドを実行出来ない。
これは、/dev内のtty関係のファイルとrandom系のファイルを一般ユーザからは実行する事が出来ないから。
一般ユーザでもsshコマンドを有効にするには、これらのファイルに対してパーミッションを変更するか、
権限やグループを変更すれば実行出来る様になる。

粗方な事は以上で終わり。
あとは、実際にsshd_configを煮詰めたり公開鍵でログイン設定をしているならパスワードでログインが出来ない事を確認したりする。
また、DroboFSはNASであってLinux鯖ではないので注意。あまりに弄りすぎるとDroboの内部構造が破壊されるかもしれない。



  • 応援中

    はじめるセカイの理想論 -goodbye world index-