如何快速配置centos sftp
导读:CentOS快速配置SFTP步骤 SFTP(SSH File Transfer Protocol)是基于SSH的安全文件传输协议,配置SFTP的核心是通过OpenSSH服务器实现,以下是快速配置流程: 1. 安装OpenSSH服务器 确保系...
CentOS快速配置SFTP步骤
SFTP(SSH File Transfer Protocol)是基于SSH的安全文件传输协议,配置SFTP的核心是通过OpenSSH服务器实现,以下是快速配置流程:
1. 安装OpenSSH服务器
确保系统已安装OpenSSH服务器(默认可能已安装),若未安装,执行以下命令:
sudo yum install openssh-server -y
2. 启动并启用SSH服务
安装完成后,启动SSH服务并设置为开机自启,保证服务持续运行:
sudo systemctl start sshd
sudo systemctl enable sshd
3. 配置SFTP子系统与访问规则
编辑SSH主配置文件/etc/ssh/sshd_config
,修改以下关键参数:
- 启用内置SFTP子系统(默认路径,无需修改):
Subsystem sftp internal-sftp
- 限制用户组仅能使用SFTP(避免普通SSH登录):
Match Group sftpusers ChrootDirectory %h # 将用户根目录限制为其主目录 ForceCommand internal-sftp # 强制使用SFTP,禁用SSH shell AllowTcpForwarding no # 禁止TCP转发 X11Forwarding no # 禁止X11转发
注:
Match Group sftpusers
表示仅sftpusers
组的用户受此规则限制。
4. 创建SFTP专用用户组与用户
- 创建用户组(用于管理SFTP用户):
sudo groupadd sftpusers
- 创建用户并加入组(以
ftpuser
为例):sudo useradd -m -G sftpusers ftpuser # `-m`创建家目录,`-G`加入sftpusers组 sudo passwd ftpuser # 设置用户密码
- 禁止用户使用SSH登录(增强安全性):
sudo usermod -s /sbin/nologin ftpuser
5. 设置Chroot目录权限
SFTP用户的根目录需设为不可写(防止用户修改自身根目录结构),子目录设为可写(用于存放文件):
- 设置家目录权限(
%h
代表用户家目录,如/home/ftpuser
):sudo chown root:root /home/ftpuser sudo chmod 755 /home/ftpuser
- 创建并设置子目录(如
upload
目录,用于文件上传):sudo mkdir -p /home/ftpuser/upload sudo chown ftpuser:sftpusers /home/ftpuser/upload # 子目录所有者为用户,组为sftpusers sudo chmod 755 /home/ftpuser/upload
6. 重启SSH服务应用配置
修改配置文件后,重启SSH服务使更改生效:
sudo systemctl restart sshd
7. 测试SFTP连接
使用SFTP客户端(如命令行、WinSCP、FileZilla)连接服务器,验证配置是否成功:
sftp ftpuser@your_server_ip
输入密码后,若能进入SFTP命令行界面(显示sftp>
),则表示配置成功。可通过ls
、put
、get
等命令测试文件操作。
额外安全建议
- 防火墙配置:允许SSH(默认端口22)流量通过,若使用firewalld,执行:
sudo firewall-cmd --permanent --add-service=ssh sudo firewall-cmd --reload
- SELinux调整:若启用了SELinux,需允许SFTP访问用户目录,执行:
sudo setsebool -P ssh_chroot_rw_homedirs on
通过以上步骤,即可在CentOS上快速搭建一个安全的SFTP服务器,满足基本的文件传输需求。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何快速配置centos sftp
本文地址: https://pptw.com/jishu/721289.html