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

SSH+chroot(CentOS64bit)でエラー このメッセージに返信する
日時: 2011/01/12 01:08
名前: ぱんだ
URL:
こちらのサイト参考にCentOS5.4(x86_64版)にて、OpenSSH+Chrootの構築を行っています。


chroot-useraddコマンドで、ユーザを作成しようとしたところ、エラーが出ました(問題点1 ※解決済)
chrootしたユーザからsshコマンドを実行すると以下のエラーが出てしまい、sshコマンドでエラーが出ます<問題点2>。
rpmファイルは、サイトを参考に、32bitマシンでopenssh5.6をrpmbuildにて作成して、x86_64bit版にて利用しております(64bit版ではエラーが出てしまい手順が不明であったため<問題点2−2>)。


<これまでの課題と解決の経緯>
[問題点1]chroot-useraddコマンドでのユーザ追加で、エラーが出る。

[解決策1]
http://centossrv.com/bbshtml/webpatio/891.shtml
に記載されているとおり、chroot-useraddコマンドの該当部分を修正して、
エラーが解消されました。

<掲示板からの抜粋>
記事のchroot-useraddに対して下記のように修正し問題なくユーザ作成やログインできました。

# 修正前:
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/

# 修正後:
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/


⇒解決済み。ユーザの追加までのエラーは解消された。



ここからが、未解決の問題です。
[問題点2−1]chrootしたユーザからsshコマンドを実行すると以下のエラーが出てしまい、sshコマンドでエラーが出ます。

[root@test]# ssh test50@localhost
test50@localhost's password:
Last login: Tue Jan 11 20:16:58 2011 from localhost.localdomain
-bash-3.2$ ssh test50@localhost
-bash: /usr/bin/ssh: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory
-bash-3.2$


エラーメッセージのとおり、必要とされるファイルをコピーを実施。
cp /lib/ld-linux.so.2 lib/ld-linux.so.2


上記をコピーした上で、再度、sshコマンドを実行
[root@test]# ssh test50@localhost
test50@localhost's password:
Last login: Tue Jan 11 20:21:47 2011 from localhost.localdomain
-bash-3.2$ ssh test50@localhost
You don't exist, go away!
-bash-3.2$

今度は、「You don't exist, go away!」とエラーが出てしまいます。

こちらの対処方法について、ご教授いただけませんでしょうか?



[問題点2−2]rpmファイルの問題の場合
もし、32bit版マシンでのrpmbuildが原因であれば、64bit版での対処方法をご教授願います。

  参考にしたサイト:http://www.v-plus.co.jp/cent/openssh_chroot.shtml

(こちらのページ内に記載されていた手順で、64bit版のrpmbuildを行ったところ、エラーが発生してしまい、その対処がどうしてもできず、上位互換をしているのかと思い、32bit版を利用しております)


ちなみに、64bit版でrpmbuildした際のエラーは、以下のとおりでした。

(中略)
RPM ビルドエラー:
ファイルが見つかりません (by glob): /var/tmp/openssh-5.6p1-buildroot/usr/share/man/man1/scp.1*
ファイルが見つかりません (by glob): /var/tmp/openssh-5.6p1-buildroot/usr/share/man/man1/ssh-keygen.1*
ファイルが見つかりません (by glob): /var/tmp/openssh-5.6p1-buildroot/usr/share/man/man8/ssh-keysign.8*
ファイルが見つかりません (by glob): /var/tmp/openssh-5.6p1-buildroot/usr/share/man/man8/ssh-pkcs11-helper.8*
ファイルが見つかりません (by glob): /var/tmp/openssh-5.6p1-buildroot/usr/share/man/man1/ssh.1*
ファイルが見つかりません (by glob): /var/tmp/openssh-5.6p1-buildroot/usr/share/man/man5/ssh_config.5*
ファイルが見つかりません (by glob): /var/tmp/openssh-5.6p1-buildroot/usr/share/man/man1/slogin.1*
ファイルが見つかりません (by glob): /var/tmp/openssh-5.6p1-buildroot/usr/share/man/man1/ssh-agent.1*
ファイルが見つかりません (by glob): /var/tmp/openssh-5.6p1-buildroot/usr/share/man/man1/ssh-add.1*
ファイルが見つかりません (by glob): /var/tmp/openssh-5.6p1-buildroot/usr/share/man/man1/ssh-keyscan.1*
ファイルが見つかりません (by glob): /var/tmp/openssh-5.6p1-buildroot/usr/share/man/man1/sftp.1*
ファイルが見つかりません (by glob): /var/tmp/openssh-5.6p1-buildroot/usr/share/man/man8/sshd.8*
ファイルが見つかりません (by glob): /var/tmp/openssh-5.6p1-buildroot/usr/share/man/man5/moduli.5*
ファイルが見つかりません (by glob): /var/tmp/openssh-5.6p1-buildroot/usr/share/man/man5/sshd_config.5*
ファイルが見つかりません (by glob): /var/tmp/openssh-5.6p1-buildroot/usr/share/man/man8/sftp-server.8*
インストール済み(ただし未伸張)ファイルが見つかりました:
/usr/share/man/cat1/scp.1
/usr/share/man/cat1/sftp.1
/usr/share/man/cat1/slogin.1
/usr/share/man/cat1/ssh-add.1
/usr/share/man/cat1/ssh-agent.1
/usr/share/man/cat1/ssh-keygen.1
/usr/share/man/cat1/ssh-keyscan.1
/usr/share/man/cat1/ssh.1
/usr/share/man/cat5/moduli.5
/usr/share/man/cat5/ssh_config.5
/usr/share/man/cat5/sshd_config.5
/usr/share/man/cat8/sftp-server.8
/usr/share/man/cat8/ssh-keysign.8
/usr/share/man/cat8/ssh-pkcs11-helper.8
/usr/share/man/cat8/sshd.8




よろしくお願いします。

記事編集 編集
Re: SSH+chroot(CentOS64bit)でエラー このメッセージに返信する
日時: 2011/01/12 10:42
名前: stranger
URL: http://ja.528p.com/
>[root@test]# ssh test50@localhost
>test50@localhost's password:
>Last login: Tue Jan 11 20:21:47 2011 from localhost.localdomain
>-bash-3.2$ ssh test50@localhost
>You don't exist, go away!
>-bash-3.2$
chrootディレクトリにパスワードの設定ファイルがないからでは?
うまくいったとしてもYou don't exist, go away!が消えるだけ
自分で自分にssh接続する意味は?

chrootディレクトリにsshがなくてもログインできると思う
ユーザを閉じ込めるのが目的ならsshをコピーしない
記事編集 編集
Re: SSH+chroot(CentOS64bit)でエラー このメッセージに返信する
日時: 2011/01/12 13:34
名前: ぱんだ
URL:

ご連絡ありがとうございます。
localhostにsshをしたのは、試験をするためです。実際は、別のIPアドレス等をします。

やりたいことを整理しますと
 ・sshでの他のネットワークに繋げるための踏み台サーバとして利用
 ・chrootしたユーザについては、コマンドの制限をしたい
 ・ディレクトリの移動制限をいたい
ことです。

このため、chrootを利用したいと考えておりました。
記事編集 編集
Re: SSH+chroot(CentOS64bit)でエラー このメッセージに返信する
日時: 2011/01/12 13:38
名前: ぱんだ
URL:
追加情報です。

>chrootディレクトリにパスワードの設定ファイルがないからでは?

※今回の作成したユーザは、test51です。

-bash-3.2$ pwd
/
-bash-3.2$ more /etc/passwd
root:x:0:0:root:/root:/bin/bash
test51:x:532:600::/home/test51/./:/bin/bash
-bash-3.2$
記事編集 編集
件名※必須
名前※必須
URL
任意のパスワード (投稿後のコメント修正・削除時に使用)
画像認証※必須 投稿キー(画像で表示されている数字を入力)
コメント※必須

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

- WEB PATIO -