当前位置:首页 > 行业动态 > 正文

如何在CentOS 7上设置SFTP服务器?

在CentOS 7上配置SFTP服务器,需要创建用户组和用户、设置目录权限、修改SSH配置文件并重启SSH服务。

CentOS 7 SFTP服务器搭建与配置详解

如何在CentOS 7上设置SFTP服务器?  第1张

在CentOS 7上搭建SFTP服务器,可以通过以下几个步骤实现:

1、关闭防火墙:首先需要关闭防火墙和SELinux,以避免它们对SFTP服务的干扰。

systemctl stop firewalld.service
systemctl disable firewalld.service
setenforce 0

2、安装OpenSSH服务:SFTP是SSH的一部分,因此需要安装OpenSSH服务。

yum install -y openssh-server

3、创建SFTP用户和目录:创建一个专用的SFTP用户组和用户,并设置用户的家目录。

groupadd sftpgroup
useradd -g sftpgroup -s /sbin/nologin -M -d /data/sftpuser sftpuser
passwd sftpuser
mkdir -p /data/sftpuser
chown root:root /data/sftpuser
chmod 755 /data/sftpuser

4、配置SSHD_CONFIG文件:编辑SSHD配置文件,启用SFTP子系统并限制用户权限。

vim /etc/ssh/sshd_config

添加以下内容:

Subsystem sftp internal-sftp
Match Group sftpgroup
ChrootDirectory /data/sftpuser/%u
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp

5、重启SSH服务:完成配置后,重启SSH服务以使更改生效。

systemctl restart sshd.service

6、验证SFTP连接:使用SFTP客户端(如FileZilla)连接到SFTP服务器,测试是否成功。

sftp -P 22 sftpuser@127.0.0.1

输入密码后应能访问到指定的目录。

FAQs

Q1: 如何更改SFTP服务器的默认端口?

A1: 编辑/etc/ssh/sshd_config文件,找到Port参数并修改为所需的端口号,然后重启SSH服务,将端口改为2222:

Port 2222

保存后执行命令:

systemctl restart sshd.service

Q2: SFTP用户无法上传文件怎么办?

A2: 确保用户对其家目录及子目录具有写权限,可以使用以下命令来设置权限:

chown -R sftpuser:sftpgroup /data/sftpuser/upload
chmod 755 /data/sftpuser/upload

检查/etc/ssh/sshd_config中的配置是否正确,确保没有禁止写操作的配置。

0