このスレッドは未解決です(解決したらこちらで解決済にしてください)

日時: 2009/08/08 18:16
名前: erick
URL:
名前: erick
URL:
連続での投稿ですみません...こちらのサイトをみながらSSH+chroot環境で構築しています。
アーキテクチャはx84_64でchroot_useraddスクリプトを作成し、chroot一般ユーザをテスト用に作成。
その際エラーが出てしまったので、http://centossrv.com/bbshtml/webpatio/891.shtml同じエラーが出た方の過去の投稿を参考にしエラーは解消しましたが...。
鍵方式でchroot設定の一般ユーザでログインしても認証は上手く行ったみたいですけれど、ログインしてもすぐ接続が切れてログイン状態の画面が消えてしまいます。
似た様な現象としまして、
http://centossrv.com/bbshtml/webpatio/1154.shtmlを参考に見てみたのですが。
/var/log/secureログを見ても
Aug 8 17:49:43 www sshd[22761]: Accepted publickey for testuser from 192.168.11.5 port 51200 ssh2
とアクセス自体は許可されています。
管理者ユーザ自体は、そのままログインした状態できちんとコマンドも打てる状態なのですが、chroot-useraddで作成されたユーザのみそのような現象になってしまいます。
何か足りないファイルでもあるのでしょうか?

日時: 2009/08/09 17:33
名前: stranger
URL: http://ja.528p.com/
名前: stranger
URL: http://ja.528p.com/
レスがつきませんね
testuserのログインshellがbashになっていること
一つ一つ必要なライブラリを確認するしかないかも
(最初にスクリプトを作った人も一つ一つ確認したと思う)
例 x86_32環境のbashに必要なライブラリ
linux-gate.so.1は静的に組み込まれているのでコピーしなくてよい
# ldd /bin/bash
linux-gate.so.1 => (0x00457000)
libtermcap.so.2 => /lib/libtermcap.so.2 (0x04a37000)
libdl.so.2 => /lib/libdl.so.2 (0x0097e000)
libc.so.6 => /lib/libc.so.6 (0x0080f000)
/lib/ld-linux.so.2 (0x007ec000)

日時: 2009/08/10 02:56
名前: erick
URL:
名前: erick
URL:
>レスがつきませんね
>
>testuserのログインshellがbashになっていること
>一つ一つ必要なライブラリを確認するしかないかも
>(最初にスクリプトを作った人も一つ一つ確認したと思う)
>
>例 x86_32環境のbashに必要なライブラリ
>linux-gate.so.1は静的に組み込まれているのでコピーしなくてよい
>
># ldd /bin/bash
>linux-gate.so.1 => (0x00457000)
>libtermcap.so.2 => /lib/libtermcap.so.2 (0x04a37000)
>libdl.so.2 => /lib/libdl.so.2 (0x0097e000)
>libc.so.6 => /lib/libc.so.6 (0x0080f000)
>/lib/ld-linux.so.2 (0x007ec000)
stranger様、いつもレスありがとうございますm(_ _)m
大変すみません、一つファイル見落としがありました。
cp /lib/libnss_compat.so.2 lib/
cp /lib/libnsl.so.1 lib/
cp /lib/libnss_files.so.2 lib/
cp /lib/ld-linux.so.2 ./lib/
cp /lib/libc.so.6 lib/
cp /lib/libm.so.6 lib/
cp /lib/libpthread.so.0 lib/
cp /lib/librt.so.1 lib/
cp /lib/libthread_db.so.1 lib/
を、そのまま/libフォルダの物をlib64/フォルダへコピーするようにしていました...。
cp /lib/libnss_compat.so.2 lib64/
cp /lib/libnsl.so.1 lib64/
cp /lib/libnss_files.so.2 lib64/
cp /lib/ld-linux.so.2 ./lib64/
cp /lib/libc.so.6 lib64/
cp /lib/libm.so.6 lib64/
cp /lib/libpthread.so.0 lib64/
cp /lib/librt.so.1 lib64/
cp /lib/libthread_db.so.1 lib64/
/libと同じく/lib64の中身に同じ物が全部あったのですが、ld-linux-x86-64.so.2だけ/lib64にフォルダにしかなかったので、これをコピーするようスクリプトを書き換えたらしっかり動きました...(すみません)
一応、同じ現象に陥った人の為にログを残しておきます。
cp /lib64/libnss_compat.so.2 lib64/
cp /lib64/libnsl.so.1 lib64/
cp /lib64/libnss_files.so.2 lib64/
cp /lib64/ld-linux-x86-64.so.2 ./lib64/
cp /lib64/libc.so.6 lib64/
cp /lib64/libm.so.6 lib64/
cp /lib64/libpthread.so.0 lib64/
cp /lib64/librt.so.1 lib64/
cp /lib64/libthread_db.so.1 lib64/
とx86_64用に書き換えればchroot-useradd作成ユーザを鍵方式アクセスできました!!
stranger様に教わったbash用ライブラリも後々使う事を考えて入れておこうと思います。
ありがとうございましたm(_ _)m
※質問を投稿後に自己解決された場合は、原因と行った対処を具体的に書き込み下さるよう、よろしくお願いします。