Linux远程访问安全之SFTP安全
配置SFTP安全:
一:建立SFTP帐号目录
# mkdir -p /var/sftp/sftp01
# mkdir -p /var/sftp/sftp02
# mkdir -p /var/sftp/sftp03
二:SFTP的账户直接使用Linux操作系统账户:
# groupadd sftp
# useradd -M -d /var/sftp/ -G sftp sftp_admin
# useradd -M -d /var/sftp/sftp01 -G sftp sftp01
# useradd -M -d /var/sftp/sftp02 -G sftp sftp02
# useradd -M -d /var/sftp/sftp02 -G sftp sftp03
【-M :不创建家目录 -d:创建指定家目录】
【不要忘了设置这几个帐号的密码】
三:编辑/etc/ssh/sshd_config配置文件
# vim /etc/ssh/sshd_config
// 注释这行 # Subsystem sftp /usr/lib/openssh/sftp-server
// 添加以下几行(以下的 %h 表示家目录)
Subsystem sftp internal-sftp
AllowUsers admin sftp_admin sftp01 sftp02 sftp03
Match User sftp_admin
ChrootDirectory /var/sftp
ForceCommand internal-sftp
Match Group sftp
ChrootDirectory %h
ForceCommand internal-sftp
# systemctl restart ssh.service //重启服务
四:目录权限设置,许可遵循两点:
1、ChrootDirectory 设置的目录权限及所有的上级目录权限,属主和属组都必须是root用户。
2、ChrootDirectory 设置的目录权限及其所有的上级目录权限,只有属主能拥有写权限(即只有root用户有写权限),也就是说权限最大设置只能为755。
【由于目录权限问题,sftp帐号都不具有写权限,因此,在其宿主目录下创建一个具有写权限的目录,用于资源上传】
# chown -R root:root /var/sftp/
# chmod -R 755 /var/sftp/
# mkdir /var/sftp/w /var/sftp/sftp01/w /var/sftp/sftp02/w /var/sftp/sftp03/w
# chown sftp_admin:sftp_admin /var/sftp/w
# chown sftp01:sftp01 /var/sftp/sftp01
# chown sftp02:sftp02 /var/sftp/sftp02
# chown sftp03:sftp03 /var/sftp/sftp03
// 修改w目录属主和属组为用户本身以及用户本身所在组,使得拥有写权限,可以上传资源。
五:在客户端进行测试
配置完成。