在现代服务器管理中,RockyLinux SFTP服务器配置是保障文件安全传输的重要一环。SFTP(SSH File Transfer Protocol)基于SSH协议,提供加密的文件传输功能,比传统的FTP更安全。本文将带你从零开始,在RockyLinux系统上搭建一个仅用于文件传输的SFTP服务,适合初学者操作。
确保你有一台已安装 RockyLinux 8 或 9 的服务器,并拥有 root 权限或 sudo 权限。本文以 RockyLinux 9 为例。
为了安全起见,我们建议为SFTP创建独立的用户和用户组,限制其只能访问指定目录,不能登录shell。
# 创建sftp用户组sudo groupadd sftpusers# 创建sftp用户(例如:sftpuser),禁止shell登录sudo useradd -g sftpusers -d /upload -s /sbin/nologin sftpuser# 设置用户密码sudo passwd sftpuser
SFTP用户的根目录必须由root拥有,且不能有写权限;子目录(如 upload)才可由用户写入。
# 创建主目录sudo mkdir -p /sftp/sftpuser/upload# 设置主目录权限(必须由root拥有,且无写权限)sudo chown root:sftpusers /sftp/sftpusersudo chmod 755 /sftp/sftpuser# 设置上传目录权限(用户可读写)sudo chown sftpuser:sftpusers /sftp/sftpuser/uploadsudo chmod 755 /sftp/sftpuser/upload
编辑 SSH 配置文件,限制特定用户组只能使用SFTP。
# 备份原配置(推荐)sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak# 编辑配置文件sudo vi /etc/ssh/sshd_config
在文件末尾添加以下内容:
Match Group sftpusers ChrootDirectory /sftp/%u ForceCommand internal-sftp AllowTcpForwarding no X11Forwarding no
保存并退出编辑器。
# 重启sshd服务sudo systemctl restart sshd# 检查服务状态sudo systemctl status sshd
现在你可以使用SFTP客户端(如 FileZilla、WinSCP 或命令行)连接测试:
sftp sftpuser@你的服务器IP
登录后,你应该只能看到 /upload 目录,并能上传/下载文件,但无法访问系统其他部分。
sudo firewall-cmd --permanent --add-service=ssh && sudo firewall-cmd --reload/sftp/sftpuser 目录的所有者是 root,且权限为 755。sudo journalctl -u sshd -f通过以上步骤,你已经成功完成了 RockyLinux搭建SFTP 的全过程。这种配置方式既满足了 SFTP安全文件传输 的需求,又遵循了最小权限原则,非常适合企业或个人服务器使用。如果你正在寻找一份详尽的 Linux SFTP教程,希望本文能为你提供清晰、实用的指导。
安全第一,定期更新系统,保护你的数据!
本文由主机测评网于2025-12-04发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/2025122639.html