CentOS SFTP配置基础步骤
CentOS系统通常默认安装OpenSSH服务器,若未安装,可通过以下命令安装:
sudo yum install openssh-server
安装完成后,启动SSH服务并设置为开机自启,确保服务持续运行:
sudo systemctl start sshd
sudo systemctl enable sshd
编辑SSH主配置文件/etc/ssh/sshd_config,通过修改以下参数启用SFTP并限制用户访问:
Subsystem sftp行(默认可能被注释),修改为使用内置的internal-sftp(更轻量且无需额外安装):Subsystem sftp internal-sftpsftpusers组(需提前创建)的用户限制在Chroot环境中,禁用TCP/X11转发以提升安全性:Match Group sftpusers
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
sudo groupadd sftpuserssftpuser为例,设置家目录并禁止其通过SSH登录(仅允许SFTP):sudo useradd -m -G sftpusers -s /sbin/nologin sftpusersudo passwd sftpuser(设置用户密码)Chroot环境需满足root拥有所有权且其他用户无写权限的要求,避免安全漏洞:
sudo chown root:root /home/sftpusersudo chmod 755 /home/sftpuserupload子目录,赋予用户写权限:sudo mkdir /home/sftpuser/uploadsudo chown sftpuser:sftpusers /home/sftpuser/uploadsudo chmod 755 /home/sftpuser/upload修改配置文件后,重启SSH服务使更改生效:
sudo systemctl restart sshd
使用SFTP客户端(如命令行或FileZilla)连接服务器,验证配置是否成功:
ssh sftpuser@your_server_ip(替换为实际用户名和IP)
若连接成功并进入SFTP命令行(显示sftp>),则说明配置生效。