このスレッドは解決済です(未解決に戻す場合はこちら)
<<戻る

Re: openssh+chroot このメッセージに返信する
日時: 2009/02/01 14:14
名前: 豆だぬき
URL:
stranger様、解説ありがとうございます。

OpenSSHが、4.9からchroot機能を持つようになって、パッチを当てたバージョンが出なくなりましたが、
だからといって、わざわざバージョンダウンして、パッチの入ったOpenSSHを使うのや、機能があるのにわざわざパッチを当てるのは、疑問が残ります。

試してないであれこれ言うのも失礼ですので、ちょっと試してみました。
なお、使用しているOSが違いますので、ディレクトリの位置が違っている所もあります。(参考にはなると思います。)

定義  * chrootユーザーは、chroot-userで括る。
    * ユーザー名を、hogeとする。

sshd_configの設定
# vi /etc/ssh/sshd_config
(最終行に追加)
Match Group chroot-user
PasswordAuthentication no #(yesなら、パスワードでログイン)
ChrootDirectory /home/%u

chroot-userの定義
# vi /etc/group
chroot-user:*:601:

chroot-userの作成
# mkdir /home/hoge
# useradd -g chroot-user hoge
# passwd hoge

ユーザーhogeに必要なディレクトリの作成
# mkdir /home/hoge/home
# mkdir /home/hoge/home/hoge
# chown hoge:chroot-user /home/hoge/home/hoge
# mkdir /home/hoge/bin
# mkdir /home/hoge/etc
# mkdir /home/hoge/usr
# mkdir /home/hoge/usr/lib
# mkdir /home/hoge/usr/local
# mkdir /home/hoge/lib
(他に必要なディレクトリが有るかも?)

chrootに必要なファイルのコピー
# cp /bin/ksh /bin/sh /bin/cat /bin/chmod /bin/cp /bin/ls /bin/mkdir /bin/mv /bin/pwd /bin/rm /sbin/ping /usr/bin/touch /usr/bin/vi /home/hoge/bin/
(全部、/binかも…調べてね。)
# cp -R /usr/lib/* /home/hoge/usr/lib
(乱暴ですが、必要の無いファイルもコピーしています。)
(CentOSの場合、/usr/libではなく、/libと思われます。)
# cp /etc/passwd /home/hoge/etc/
# vi /home/hoge/etc/passwd
(hoge以外のユーザーを削除)
# cp /etc/group /home/hoge/etc/
# vi /home/hoge/etc/group
(chroot-user以外のグループを削除)

ユーザーhogeの公開鍵の登録
# mkdir /home/hoge/.ssh
# chmod 700 /home/hoge/.ssh/
# vi /home/hoge/.ssh/authorized_keys
(クライアント側で作成した公開鍵の中身をコピー)
# chmod 600 /home/hoge/.ssh/authorized_keys
# chown -R hoge:chroot-user /home/hoge/.ssh/

OpenSSHの再起動

hogeで、ログイン確認
# pwd
/home/hoge
# ls
(何も出ません)
# ls /home
hoge
(本来の位置なら登録されている管理者がユーザーとして表示されない)

以上の状態から、実際には、/home/hoge/home/hogeの位置にログインしていると思われます。

/binや/etc,/lib等で本来コピーすべきファイルは、当サイトのopenssh-chrootで作成されるファイルが参考になると思います。
取り合えず此処までですが、まだ完全な状態とはいえません。
また、かなり面倒なので、各種ディレクトリやファイルが、一括で作成されるユーザー登録用シェルスクリプトが、必要です。
記事編集 編集
件名※必須
名前※必須
URL
任意のパスワード (投稿後のコメント修正・削除時に使用)
画像認証※必須 投稿キー(画像で表示されている数字を入力)
コメント※必須

※質問を投稿後に自己解決された場合は、原因と行った対処を具体的に書き込み下さるよう、よろしくお願いします。

- WEB PATIO -