CentOS 6
Sponsored Link

SFTP only + Chroot
2014/08/02
 
特定のユーザーに対して、シェルへの制限をかけて SFTPのみを許可し、 且つ、Chroot有効にして特定のディレクトリ配下のみアクセスできるよう設定します。
[1] 例として /home を Chroot ディレクトリとして設定してみます。
# SFTP 専用グループ作成

[root@dlp ~]#
groupadd sftp_users

# 例としてユーザー「cent」には SFTPのみを許可する

[root@dlp ~]#
usermod -G sftp_users cent

[root@dlp ~]#
vi /etc/ssh/sshd_config
# 132行目:コメントにしてその下に追記

#
Subsystem sftp /usr/libexec/openssh/sftp-server
Subsystem sftp internal-sftp
# 最終行に追記

Match Group sftp_users
  X11Forwarding no
  AllowTcpForwarding no
  ChrootDirectory /home
  ForceCommand internal-sftp
[root@dlp ~]#
/etc/rc.d/init.d/sshd restart

[2] 対象のユーザーで SSH や SFTP でアクセスして動作確認してみてください。
[root@rx-7 ~]#
ssh cent@10.0.0.30

cent@10.0.0.30's password:
This service allows sftp connections only.
Connection to 10.0.0.30 closed.    
# 正常に拒否された
[root@rx-7 ~]#
sftp cent@10.0.0.30

Connecting to 10.0.0.30...
cent@10.0.0.30's password:
sftp>
ls -l

drwx------    3 1000     1000         4096 Jul  9 12:06 cent
drwx------    2 1001     1001           59 Jul  8 22:06 hirokun
sftp>
pwd

Remote working directory: /
sftp>
exit

 
Tweet