sftpではなく、scpでchrootをやりたい場合のお話。
2011年5月27日金曜日
2011年5月26日木曜日
opensshでchroot
同僚が以下のようなことをやりたいらしい。
ここからダウンロードして、/usr/src/redhat/SOURCESへ置く。
必要パッケージのインストール
今回試した環境の場合、以下のものが必要だった
rpmの生成
生成したrpmでアップデートする
#rpm -Uvh openssh-5.8p2-1 openssh-clients-5.8p2-1 openssh-askpass-5.8p2-1 openssh-server-5.8p2-1
- サーバへのアップロードをsftpかscpかでやりたい
- アップロードで使うユーザはシェルでのログインを許可したくない
- アップロードで使うユーザは、自身のホーム以外に移動させたくない
そもそも、sftpとscpは何が違うのかという点は、ここが詳しい。
(同僚曰く、scpよりsftpが早いと言っていたが、この記事を読む限り、scpが高速のようでな。。。)
機能的にはsftpが充実してるようなので、sftpがいいではないかと。
この要件をまとめると、sftpでchrootを使うようにしたいということになるだろうか。
とりあえず、試してみる。
試した環境は、"CentOS release 5.5 (Final) "、64bit版。
インストール
こちらによると、opensshの4.9以降がchrootに対応しているとのことだが、CentOSの標準パッケージだと、これ以前のバージョンが入っているので、入れ替える必要がある。
ソースコンパイルで入れればよいのだが、他のサーバへ横展開することも考えて、rpmを作ってみた。
opensshのソースコードを入手
ここあたりから、ダウンロードして、/usr/src/redhat/SOURCESへ置く。
展開
#cd /usr/src/redhat/SOURCEStar zxvf openssh-5.8p2.tar.gzx11-ssh-askpassを入手
ここからダウンロードして、/usr/src/redhat/SOURCESへ置く。
必要パッケージのインストール
今回試した環境の場合、以下のものが必要だった
yum install libX11-devel.x86_64
yum install pam-devel.i386
yum install libXt-devel-1.0.2-3.2.el5.x86_64
yum install gtk2-devel
rpmの生成
rpmbuild -bb openssh-5.8p2/contrib/redhat/openssh.spec
/usr/src/redhat/RPMS/x86_64の下にrpmファイルが生成されるはず。
# cd /usr/src/redhat/RPMS/x86_64
# ls
openssh-5.8p2-1.x86_64.rpm openssh-clients-5.8p2-1.x86_64.rpm
openssh-askpass-5.8p2-1.x86_64.rpm openssh-debuginfo-5.8p2-1.x86_64.rpm
openssh-askpass-gnome-5.8p2-1.x86_64.rpm openssh-server-5.8p2-1.x86_64.rpm
生成したrpmでアップデートする
#rpm -Uvh openssh-5.8p2-1 openssh-clients-5.8p2-1 openssh-askpass-5.8p2-1 openssh-server-5.8p2-1
sshデーモンを再起動
#/etc/init.d/sshd stop
#/etc/init.d/sshd start
#/etc/init.d/sshd stop
#/etc/init.d/sshd start
登録:
投稿 (Atom)