CENTOS5.9でSFTPのみ許可する
CENTOS5.x環境で、SFTPのみを許可したいのだが、
CENTOS5.xのOpenSSHは、バージョンが古くchroot機能が含まれていない。
まずは、OpenSSHのバージョンアップから行う。
1)インストール済みのOpenSSHをアンインストール
yum remove openssh*
2)最新OpenSSHを取得
wget http://anga.funkfeuer.at/ftp/pub/OpenBSD/OpenSSH/portable/openssh-6.2p1.tar.gz
3)CentOS用のrpmを作成するために、SPECファイルを修正
解凍 tar zxvf openssh-6.2p1.tar.gz
修正 vi openssh-6.2p1/contrib/redhat/openssh.spec
修正箇所 x_11_askpassの無効化
%define no_x11_askpass 0
↓
%define no_x11_askpass 1
修正箇所 gnome_askpassの無効化
%define no_gnome_askpass 0
↓
%define no_gnome_askpass 1
修正箇所 zlibのバージョンチェック無効化
%configure \
--sysconfdir=%{_sysconfdir}/ssh \
・・・
↓
%configure \
configure --without-zlib-version-check \ ← 追加
--sysconfdir=%{_sysconfdir}/ssh \
・・・
contrib以下のredhat以外のディレクトリを削除
rm -rf ./contrib/aix/
rm -rf ./contrib/hpux/
rm -rf ./contrib/caldera/
rm -rf ./contrib/suse/
rm -rf ./contrib/cygwin/
rm -rf ./contrib/solaris/
4)圧縮
tar czvf ./openssh-6.2p1.tar.gz ./openssh-6.2p1/
5)RPMの作成
rpmbuild -tb --clean ./openssh-6.2p1.tar.gz
6)rpmをインストール
作成したopenssh、openssh-server、openssh-clientsをインストールします。
rpm -Uvh /usr/src/redhat/RPMS/x86_64/openssh-6.2p1-1.x86_64.rpm
rpm -Uvh /usr/src/redhat/RPMS/x86_64/openssh-server-6.2p1-1.x86_64.rpm
rpm -Uvh /usr/src/redhat/RPMS/x86_64/openssh-clients-6.2p1-1.x86_64.rpm
7)/etc/ssh/sshd_configを修正
#SSH2でのみ接続を許可
Protocol 2
#ログを/var/log/secureに記録
SyslogFacility AUTHPRIV
#rootでのログインを禁止
PermitRootLogin no
#RSA公開鍵認証の有効化
RSAAuthentication yes
#公開鍵と秘密鍵、パスフレーズによる認証の有効化
PubkeyAuthentication yes
#パスワード認証を無効化
PasswordAuthentication no
AuthorizedKeysFile .ssh/authorized_keys
#パスワードなしでのログインを禁止
PermitEmptyPasswords no
#
UsePAM no
UsePrivilegeSeparation sandbox
#Subsystem sftp /usr/libexec/openssh/sftp-server
Subsystem sftp internal-sftp
#sftponlyグループにマッチしたらchroot制約ケース
Match Group sftponly
ChrootDirectory /home/%u
#sftpユーザのみパスワード認証としたい場合
PasswordAuthentication yes
ForceCommand internal-sftp
AllowTCPForwarding no
X11Forwarding no
#wheelグループ以外はchroot制約ケース
Match Group *,!wheel
ChrootDirectory /home/%u
#sftpユーザのみパスワード認証としたい場合
PasswordAuthentication yes
ForceCommand internal-sftp
AllowTCPForwarding no
X11Forwarding no
8)グループの作成 、homeの権限変更
useradd hogera
groupadd sftponly
gpasswd -a hogera sftponly
chown root:root /home/hogera
9)公開鍵の設定
cd /home/hogera
mkdir .ssh
cat hogera_dsa.pub >> .ssh/authorized_keys
chmod 700 .ssh
chmod 600 .ssh/authorized_keys
chown -R hogera:hogera .ssh
10)selinuxが有効の場合
restorecon -Rv /etc
restorecon -RFv /home/hogera
コメント