みなさんこんにちは。 scponlyc が使えなくなっておりまして困っています。
どなたかお力をお貸しいただけましたら幸いです。 環境は サーバ FreeBSD 6.2-RELEASE-p7 クライアント WindowsXP + WinSCP 4.0.4 です。 FreeBSDはインストール直後の状態からsshの設定を行い scponly をインストールしました。 インストール後に # cd /usr/local/share/examples/scponly # ./setup_chroot.sh こんな感じでユーザーを作成しました(以下は抜粋です)。 -en Username to install [scponly] hoge -en home directory you wish to set for this user [/home/ibaraki] /usr/data/hoge -en name of the writeable subdirectory [incoming] ←空のままエンター creating /usr/data/hoge directory for uploading files この状態で WinSCP で SFTP でアクセスすると Cannot initialize SFTP protocol. Is the host running SFTP server? Connection has been unwxpectedly closed. Server sent command exit status 1. というエラーが出て接続されません。 以下は試した手順です まず、scponly の再インストール # rm /var/db/ports/scponly/options # cd /usr/ports/shells/scponly # make install # This file is auto-generated by 'make config'. # No user-servicable parts inside! # Options for scponly-4.6_2 _OPTIONS_READ=scponly-4.6_2 WITHOUT_SCPONLY_WILDCARDS=true WITHOUT_SCPONLY_GFTP=true WITH_SCPONLY_CHROOT=true WITH_SCPONLY_RSYNC=true WITHOUT_SCPONLY_SCP=true WITH_SCPONLY_SFTP_LOGGING=true WITHOUT_SCPONLY_SVN=true WITHOUT_SCPONLY_SVNSERVE=true WITHOUT_SCPONLY_UNISON=true WITH_SCPONLY_WINSCP=true 上記のオプションを付けたり外したり( make config )して様子をみてみました。 しかし結果は全て同じく Cannot initialize SFTP protocol. Is the host running SFTP server? Connection has been unwxpectedly closed. Server sent command exit status 1. という表示がでてきてしまいます。 SFTPサーバに何か問題があるようだと思い /etc/ssh/sshd_config の最後の方に # override default of no subsystems Subsystem sftp /usr/libexec/sftp-server があるため、もしかして chroot 環境で sftp-server が使えないのかと思い /usr/data/hoge/usr/libexec/ に sftp-server をコピーしましたが 結果は同じ。もしかしてライブラリが無いため起動できないのかと思い # ldd /usr/libexec/sftp-server /usr/libexec/sftp-server: libssh.so.3 => /usr/lib/libssh.so.3 (0x2807e000) libcrypt.so.3 => /lib/libcrypt.so.3 (0x280b3000) libcrypto.so.4 => /lib/libcrypto.so.4 (0x280cb000) libz.so.3 => /lib/libz.so.3 (0x281be000) libc.so.6 => /lib/libc.so.6 (0x281cf000) libgssapi.so.8 => /usr/lib/libgssapi.so.8 (0x282b4000) libkrb5.so.8 => /usr/lib/libkrb5.so.8 (0x282c2000) libasn1.so.8 => /usr/lib/libasn1.so.8 (0x282f6000) libcom_err.so.3 => /usr/lib/libcom_err.so.3 (0x28317000) libroken.so.8 => /usr/lib/libroken.so.8 (0x28319000) libmd.so.3 => /lib/libmd.so.3 (0x28325000) 表示されたライブラリを全て /usr/data/hoge/lib /usr/data/hoge/usr/lib にコピーしましたがやはり結果は同じ。 もしかして問題は sftp では無くシェルにあるのではないかと思いまして 別の tcsh のシェルで起動するアカウント foo でsftpでログオンを試みると 問題なく接続できました。 scponlycの問題ならシェルを変えればログオンできるはずなので vipw を使い hoge のシェルを /usr/local/sbin/scponlyc から /usr/local/bin/scponly に変更しました。するとやはり全く問題なくログオンできました。 しかし tcsh や scponly だと chroot 環境になりません。 scponlyc になんらかの問題があるらしいのですが・・・ 他に設定するところ、やらなければならない事などありましたら ご教示頂けたらと思います。 -------------------------------------- Easy + Joy + Powerful = Yahoo! Bookmarks x Toolbar http://pr.mail.yahoo.co.jp/toolbar/