BBS過去ログ |
| ■目次 |
はじめまして、webmaster様。
現在、fedoracore2正式版で、自宅サーバ構築をしています
kohと申します。最小限の環境から構築してみたいと思い立ち
いろいろサイト検索しているうちに、こちらに辿り着きました。
説明がとても見やすくわかりやすい内容で参考にさせて頂いて
おります。
さて、本題に入りますがタイトルにあるようにSSHサーバー構築
を行っておりますが、うまくいかず困っております。
■chrootユーザ作成
(1)chrootユーザ環境作成スクリプト作成
こちらのスクリプトを使用して実行してみました。
しかしながら、cp $l ./$lの部分で、
「そのようなファイルやディレクトリは存在しません」
と言われて警告メッセージが表示されてしまいます。
拙い知識で要因を調べてみましたら、一部のディレクトリで
このメッセージを出している事が判りました。
どうやら、シンボリックリンクが張られているディレクトリで
LIBS=`ldd $prog | awk '{ print $3 }'`
の処理結果が数字の羅列になっていました。
これがうまくいかない要因までは切り分けできたのですが
この後、どうすればよいのかわかりません。
お忙しいとは存じますが、アドバイス頂けたら幸いです。
以上
追記します。
【出力されたメッセージ】
cp: cannot create regular file `.//usr/kerberos/lib/libkrb5.so.3': そのようなフ
ァイルやディレクトリはありません
cp: cannot create regular file `.//usr/kerberos/lib/libk5crypto.so.3': そのよう
なファイルやディレクトリはありません
cp: cannot create regular file `.//usr/kerberos/lib/libcom_err.so.3': そのような
ファイルやディレクトリはありません
cp: cannot create regular file `.//usr/kerberos/lib/libgssapi_krb5.so.2': そのよ
うなファイルやディレクトリはありません
cp: cannot create regular file `.//usr/kerberos/lib/libkrb5.so.3': そのようなフ
ァイルやディレクトリはありません
cp: cannot create regular file `.//usr/kerberos/lib/libk5crypto.so.3': そのよう
なファイルやディレクトリはありません
cp: cannot create regular file `.//usr/kerberos/lib/libcom_err.so.3': そのような
ファイルやディレクトリはありません
cp: cannot create regular file `.//usr/kerberos/lib/libgssapi_krb5.so.2': そのよ
うなファイルやディレクトリはありません
cp: cannot create regular file `.//usr/kerberos/lib/libkrb5.so.3': そのようなフ
ァイルやディレクトリはありません
cp: cannot create regular file `.//usr/kerberos/lib/libk5crypto.so.3': そのよう
なファイルやディレクトリはありません
cp: cannot create regular file `.//usr/kerberos/lib/libcom_err.so.3': そのような
ファイルやディレクトリはありません
cp: cannot create regular file `.//usr/kerberos/lib/libgssapi_krb5.so.2': そのよ
うなファイルやディレクトリはありません
【echo "*LIBS* `ldd $prog`"の結果】
*LIBS* libtermcap.so.2 => /lib/libtermcap.so.2 (0x40023000)
libdl.so.2 => /lib/libdl.so.2 (0x40027000)
libc.so.6 => /lib/tls/libc.so.6 (0x42000000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
*LIBS* libtermcap.so.2 => /lib/libtermcap.so.2 (0x40023000)
libc.so.6 => /lib/tls/libc.so.6 (0x42000000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
*LIBS* libc.so.6 => /lib/tls/libc.so.6 (0x42000000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
*LIBS* libc.so.6 => /lib/tls/libc.so.6 (0x42000000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
*LIBS* libc.so.6 => /lib/tls/libc.so.6 (0x42000000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
*LIBS* libc.so.6 => /lib/tls/libc.so.6 (0x42000000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
*LIBS* libc.so.6 => /lib/tls/libc.so.6 (0x42000000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
*LIBS* libc.so.6 => /lib/tls/libc.so.6 (0x42000000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
*LIBS* libpopt.so.0 => /usr/lib/libpopt.so.0 (0x40023000)
libresolv.so.2 => /lib/libresolv.so.2 (0x4002b000)
libc.so.6 => /lib/tls/libc.so.6 (0x42000000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
*LIBS* libresolv.so.2 => /lib/libresolv.so.2 (0x40023000)
libutil.so.1 => /lib/libutil.so.1 (0x40035000)
libz.so.1 => /usr/lib/libz.so.1 (0x40038000)
libnsl.so.1 => /lib/libnsl.so.1 (0x40046000)
libcrypto.so.4 => /lib/libcrypto.so.4 (0x4005b000)
libkrb5.so.3 => /usr/kerberos/lib/libkrb5.so.3 (0x4014c000)
libk5crypto.so.3 => /usr/kerberos/lib/libk5crypto.so.3 (0x401ab000)
libcom_err.so.3 => /usr/kerberos/lib/libcom_err.so.3 (0x401bb000)
libc.so.6 => /lib/tls/libc.so.6 (0x42000000)
libgssapi_krb5.so.2 => /usr/kerberos/lib/libgssapi_krb5.so.2 (0x401bd000
)
libdl.so.2 => /lib/libdl.so.2 (0x401d0000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
*LIBS* libresolv.so.2 => /lib/libresolv.so.2 (0x40023000)
libutil.so.1 => /lib/libutil.so.1 (0x40035000)
libz.so.1 => /usr/lib/libz.so.1 (0x40038000)
libnsl.so.1 => /lib/libnsl.so.1 (0x40046000)
libcrypto.so.4 => /lib/libcrypto.so.4 (0x4005b000)
libkrb5.so.3 => /usr/kerberos/lib/libkrb5.so.3 (0x4014c000)
libk5crypto.so.3 => /usr/kerberos/lib/libk5crypto.so.3 (0x401ab000)
libcom_err.so.3 => /usr/kerberos/lib/libcom_err.so.3 (0x401bb000)
libc.so.6 => /lib/tls/libc.so.6 (0x42000000)
libgssapi_krb5.so.2 => /usr/kerberos/lib/libgssapi_krb5.so.2 (0x401bd000
)
libdl.so.2 => /lib/libdl.so.2 (0x401d0000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
*LIBS* libresolv.so.2 => /lib/libresolv.so.2 (0x40023000)
libc.so.6 => /lib/tls/libc.so.6 (0x42000000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
*LIBS* libresolv.so.2 => /lib/libresolv.so.2 (0x40023000)
libutil.so.1 => /lib/libutil.so.1 (0x40035000)
libz.so.1 => /usr/lib/libz.so.1 (0x40038000)
libnsl.so.1 => /lib/libnsl.so.1 (0x40046000)
libcrypto.so.4 => /lib/libcrypto.so.4 (0x4005b000)
libkrb5.so.3 => /usr/kerberos/lib/libkrb5.so.3 (0x4014c000)
libk5crypto.so.3 => /usr/kerberos/lib/libk5crypto.so.3 (0x401ab000)
libcom_err.so.3 => /usr/kerberos/lib/libcom_err.so.3 (0x401bb000)
libc.so.6 => /lib/tls/libc.so.6 (0x42000000)
libgssapi_krb5.so.2 => /usr/kerberos/lib/libgssapi_krb5.so.2 (0x401bd000
)
libdl.so.2 => /lib/libdl.so.2 (0x401d0000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
この結果を見る限り、3番目のフィールドは(0x40000000)になり
cpが異常になるのだと思います。
長くなりました。すみません。
異常
koh様、はじめまして。
確かにライブラリのコピーでエラーになりますが、当方では問題なく使えてます。
ただし、koh様の環境とはコピーエラー事象が違います。
当方で確認しているのは、以下の事象です。
まず、コピーするコマンドが使用しているライブラリのフルパスをLIBSに格納する。
LIBS=`ldd $prog | awk '{ print $3 }'`の行
ここで指定している$3は以下の実行結果だと=>の右側になります。
[root@linux root]# ldd /bin/ls
linux-gate.so.1 => (0x00abd000)
librt.so.1 => /lib/tls/librt.so.1 (0x003d6000)
libacl.so.1 => /lib/libacl.so.1 (0x00495000)
libselinux.so.1 => /lib/libselinux.so.1 (0x003c4000)
libc.so.6 => /lib/tls/libc.so.6 (0x00255000)
libpthread.so.0 => /lib/tls/libpthread.so.0 (0x003b0000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x0023c000)
libattr.so.1 => /lib/libattr.so.1 (0x004e6000)
従って、librt.so.1なら/lib/tls/librt.so.1をchrootユーザのホームディレクトリにコピーします。
しかし、上記のlinux-gate.so.1の行では=>の右側にフルパス名ではないもの(0x00abd000)が表示されており、(0x00abd000)をコピーしようとしてエラーになっています。
linux-gate.so.1についてはさんざん、検索してみましたが、原因特定にはいたりませんでした。
但し、はじめに記したように、いまのところ問題なく使えてますが、もし、なにか不具合がありましたら、BBSへ書き込み頂けると幸いです。
webmaseter様、アドバイスありがとうございました。
当方もこのメッセージをとりあえず気にせずに先に進んでみました。鍵作成においては特に問題なく終了しました。
ところが、chrootユーザ確認において、WindowsからSSHサーバーへリモート接続(Tera Term Pro) したところ、以下のようになりました。
【TeraTermでの結果】
-bash-2.05b$ pwd ←fedoraでログイン後、ホームディレクトリを確認
/home/fedora !先のようになっている!
-bash-2.05b$ su - ←rootになれるか確認。。。
Password: ←恐る恐るパスワードをキーイン
[root@linux root]# ←なれちゃった^^;;;
ということで何がいけないのでしょうか?
あと、fedoraユーザにおいてcdコマンドで/に移動も可能でした。
なお、手順はwebmaster様の手順に基づいて行っております。
何度もすみません。自分でも調べてみようと思います。
以上
koh様、こんにちわ。
> 【TeraTermでの結果】
> -bash-2.05b$ pwd ←fedoraでログイン後、ホームディレクトリを確認
> /home/fedora !先のようになっている!
TeraTermで直接chrootユーザでログインしましたか?
chrootユーザ以外でログインしてsuでchrootユーザになると上記のようになります。
あと、仮にchrootユーザ以外でログインしてsuでchrootユーザになると下記のようになり、koh様の事象とちょっと異なります。
[root@linux root]# su - linux
-bash-2.05b$ pwd
/home/fedora/./
ご確認ください。
webmaster様、アドバイスありがとうございます。
> TeraTermで直接chrootユーザでログインしましたか?
> chrootユーザ以外でログインしてsuでchrootユーザになると上記のようになります。
上記の回答ですが、chrootユーザ(fedora)でTeraTermより
ログインしました。
【具体的な手順】
1.TeraTermをスタートメニューから起動
2.TCP/IP ホスト:192.168.1.3
サービス ・SSH TCPポート#:22
でOKボタン押下
3.ユーザ名:fedora ←chrootユーザ作成で追加したfedoraユーザ
パスフレーズ: ←〃(パスワード)
・RSA鍵を使う ←鍵作成で作ったidentity
もう少し、自分で調べてみます。スクリプトがうまくいって
いないのかなぁ?
以上
webmaster様、こんばんは。
あれから試したことを書きます。
結果はうまくいきました。
ただ、まだ要因が掴めないでいます。
【試してみたこと】
・別のユーザを新たにchrootユーザとして作成
これだけなんですが・・・。同じ事をしたはずなのに
どうしてだろう?
気になる点は、パスワードをつけるときにfedoraの場合は
とりあえずユーザ名=パスワードにしたことで、警告?の
メッセージが出力されたこと、鍵作成のパスフレーズと
chrootユーザ作成のパスワードを異なるものにしたことく
らいかな?
以上
webmaster様、こんにちは。
あれから試行錯誤してなんとか原因もわかりうまくいきました。
原因はchrootユーザ作成時に設定したパスワードと、鍵作成時に設定
したパスフレーズが異なるためでした。
対処としてfedoraユーザをいったん削除した上で、改めてfedoraユーザを
作成し、その際、パスワードとパスフレーズを同じ物に設定した上でchroot
ユーザ確認したところうまくいきました。詳しいことはわかりませんが
解決しましたので先に進みたいと思います。
また、お世話になるかもしれませんがその時はよろしくお願いしますね。
以上
koh様、こんにちわ。
> 原因はchrootユーザ作成時に設定したパスワードと、鍵作成時に設定
> したパスフレーズが異なるためでした。
当方もchrootユーザのパスワードとパスフレーズは同じものにして確認していましたので、koh様の言われるようにパスワードとパスフレーズを異なるもので確認してみたところ、問題なくchrootであること(ホームディレクトリが/となっていること)を確認できました。
なにか、別の原因のような気がしますが、とりあえずうまくいっているのであればいいかと思いますが、ちなみに、パスフレーズは覚えやすいかどうかは別として、スペース等も含めることができるため、パスワードアタックによるパスワード解読は非常に困難なものにすることができます。当然、パスワードにはスペースは含めません。ただ、あくまでも秘密鍵を入手した前提です。なお、当サイトではおすすめできませんが、秘密鍵のみでパスフレーズなしでログインするということも可能です。