- PR -

chrootのOpenSSHについて

投稿者投稿内容
トシ
会議室デビュー日: 2005/12/05
投稿数: 5
投稿日時: 2005-12-05 13:54
はじめまして。トシと申します。

どうにも行き詰ってしまいました。
何か助言を頂けたらと思い、投稿しました。

ポートフォワードを使ったsshのftp(秘密鍵ベース)の環境を作りましたが、
これだと、ユーザのホーム以上に行けないように設定は可能なのですが、
WinSCPなどをユーザが使った場合に、ガードが掛けられませんでした。
色々と調べたところ、chrootのOpenSSHを使えば解決できることがわかりました。

サーバ:
 Fedora Core 4
 OpenSSH-4.1p1+chroot
クライアント:
 WindowsXP SP2
 WinSCP3

この環境にて、通常ユーザは問題なく接続できています。
しかし、chrootのユーザでは接続が行えない状況となっています。

そのときにクライアントに表示されるエラー内容は、
「認証に失敗」
  認証ログ (詳細はセッションログを見て下さい):
  Using username "userxxxx".
  Authenticating with public key "rsa-key-20051205"

  Server refused to start a shell/command
となります。

原因としては何が考えられますでしょうか?

情報不足等がありましたらご指摘ください。
よろしくお願いします。
jk
ベテラン
会議室デビュー日: 2005/08/19
投稿数: 94
投稿日時: 2005-12-05 14:14
ユーザが使えるシェルが chrootしたユーザが見えるところにないからじゃないですか?
トシ
会議室デビュー日: 2005/12/05
投稿数: 5
投稿日時: 2005-12-05 14:30
早速の返信ありがとうございます。

やはりそうですよね。。
エラーメッセージからはそんな感じにしかとれないですよね。。

Linux素人で申し訳ありませんが、シェルが見えるところにない
かどうかを判断する方法をご教授いただけますでしょうか?

ちなみに、ユーザを追加した時に使用したスクリプトは、
下のページから頂きました。
http://fedorasrv.com/openssh_chroot.shtml

よろしくお願いいたします。
kaz
ぬし
会議室デビュー日: 2003/11/06
投稿数: 5403
投稿日時: 2005-12-05 16:03
こんにちわ.
引用:

トシさんの書き込み (2005-12-05 14:30) より:

Linux素人で申し訳ありませんが、シェルが見えるところにない
かどうかを判断する方法をご教授いただけますでしょうか?


chroot の使い方は理解していますか?
chroot するということは「root が変わる」というわけで,
/bin/sh が shell になっていて /home/user に chroot したらどうなるでしょう?
トシ
会議室デビュー日: 2005/12/05
投稿数: 5
投稿日時: 2005-12-05 16:28
返信ありがとうございます。

引用:

chroot の使い方は理解していますか?
chroot するということは「root が変わる」というわけで,
/bin/sh が shell になっていて /home/user に chroot したらどうなるでしょう?



すいません。わかってないと思います。。
/bin/bash が shell になっているユーザがいて、chrootしたら、
/home/user/bin/bash を shell として使うということでしょうか?

/home/user を確認してみましたが、/home/user/bin/bash はあります。
kaz
ぬし
会議室デビュー日: 2003/11/06
投稿数: 5403
投稿日時: 2005-12-05 16:37
引用:

トシさんの書き込み (2005-12-05 16:28) より:

/home/user を確認してみましたが、/home/user/bin/bash はあります。


そういう処理をしてくれる tool なんですね.
sftp-server は /home/user/bin にありますか?
「WinSCP だけしか使わせたくないなら scponly で」な話は過去にありましたね.
jk
ベテラン
会議室デビュー日: 2005/08/19
投稿数: 94
投稿日時: 2005-12-05 16:41
クライアント側だけじゃなくて、サーバ側のログも見てみたらいいと思いますよ。
そのためのログですから。
トシ
会議室デビュー日: 2005/12/05
投稿数: 5
投稿日時: 2005-12-05 17:09
解決しました!!

引用:

そういう処理をしてくれる tool なんですね.
sftp-server は /home/user/bin にありますか?


ありませんでした。
私の環境?では、sshd_config に /usr/libexec/openssh/sftp-server
を使用するように書かれていますので、それをご指摘のように、
/home/user/libexec/openssh/sftp-server にコピーして試してみたところ、
うまくいきました!!

引用:

「WinSCP だけしか使わせたくないなら scponly で」な話は過去にありましたね.



あ、そうですね。その話題ありました。
今回の環境を作るために調べていたときに見た記憶があります。
で、あらためて検索したところ、kazさんの書き込みもありましたね。。
調べていたときは意味不明だったのですが、今見てみると、
質問内容が重複していました。申し訳ありません。。
scponlyも検討してみます。

jkさん、kazさん丁寧に対応していただきまして、
ありがとうございました。
Linux知識が全然足りないのが露呈してしまいました。。
勉強します。。でもまた行き詰ったらおねがいします・・・
お忙しいところすいませんでした。

スキルアップ/キャリアアップ(JOB@IT)