本文详细介绍了在Linux CentOS上部署安全文件传输协议(SFTP)服务器的全过程。SFTP基于SSH(安全壳层协议)提供文件传输服务,继承了SSH的安全特性,如数据加密、完整性验证和服务器认证等,确保数据在传输过程中的安全性。
以下是详细过程介绍。
1.创建SFTP用户组
groupadd sftpgroup # 新增用户组
2.创建SFTP用户及密码
useradd -g sftpgroup -s /bin/flase sftpwcw # 创建用户并限制指定的用户登录
passwd sftpwcw # 设置密码
3.创建SFTP目录
mkdir -p /data/sftpfile # 创建sftp文件夹
usermod -d /data/sftpfile sftpwcw # 将⽂件夹设置为sftpwcw⽤户的主⽬录
# 创建一个子文件夹,方便显示效果
mkdir -p /data/sftpfile/upload
4.修改sshd_config配置文件
vim /etc/ssh/sshd_config
#注释以下行:
#Subsystem sftp /usr/libexec/openssh/sftp-server
#新增配置
#SFTP Settings
Subsystem sftp internal-sftp
Match Group sftpgroup
ChrootDirectory /data/sftpfile
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
5.修改sftpwcw账户的主目录属于root
chown root /data/sftpfile # 设置文件夹的所属权限
chmod 755 /data/sftpfile # 设置⽂件夹权限
6.关闭Selinux策略
vim /etc/selinux/config
#将SElinux设置为disabled,永久关闭
SELINUX=disabled
7.重启ssh服务
systemctl restart sshd
8.测试登录SFTP
sftp sftpwcw@IP地址 # 用SFTP用户登录
其它说明:
带端口登录:sftp -P 22 sftpwcw@IP地址
exit: 退出SFTP