当前位置:首页 > 新闻公告 > 如何在Centos 7系统上搭建SFTP服务器

如何在Centos 7系统上搭建SFTP服务器

发布时间:2019/9/10 10:23:44    来源: A5互联

CentOS 7或其他Linux服务器发行版都是非常强大的服务器,其性能已超出了您业务的需求范围。无论您需要在服务器上部署什么任务,它都能完成。

如果您想在CentOS 7系统下配置SFTP服务器。SFTP是内置在Secure Shell (SSH)中的FTP服务,允许用户使用SSH安全的将文件上传和下载。

我将向您介绍设置SFTP服务器的过程。我将通过创建一个仅限于SFTP登录的单一用户来演示。您知道如何操作后,可以创建您需要的任意数量的用户。我将使用CentOS 7作为我的平台,这一步骤适用于任何Linux发行版。

CentOS 7已经拥有您需要的所有东西,开箱即用。只需要具有管理员权限的登录帐号。

一、SFTP目录

我们必须做的第一件事是创建一个FTP数据目录。打开终端窗口,su到root用户(输入su,然后在出现提示时键入root用户密码),然后发出以下两个命令:

mkdir -p / data 

chmod 701 / data

二、创建SFTP组和用户

现在我们要为SFTP用户创建一个特殊组。这是通过以下命令完成的:

groupadd sftp_users

现在我们要创建一个没有常规登录权限的特殊用户,但它属于我们新创建的sftp_users组。对此的命令是:

useradd -g sftp_users -d / upload -s / sbin / nologin USERNAME

USERNAME是用户的名称。

接下来,为新用户提供密码。此密码将是新用户使用sftp命令登录时使用的密码。要设置密码,请发出命令:

passwd USERNAME

USERNAME是上面创建的用户的名称。

三、创建新用户SFTP目录

现在我们将创建一个特定于新用户的上传目录,然后为该目录提供适当的权限。使用以下命令处理:

mkdir -p / data / USERNAME / upload 

chown -R root:sftp_users / data / USERNAME 

chown -R USERNAME:sftpusers / data / USERNAME / upload

USERNAME是您在上面创建的新用户的名称。

四、配置sshd

使用以下命令打开SSH守护程序配置文件:

nano / etc / ssh / sshd_config

在该文件的底部,添加以下内容:

Match Group sftpusers

ChrootDirectory /data/%u

ForceCommand internal-sftp

保存并关闭该文件。使用以下命令重新启动SSH:

systemctl重启sshd

五、登录

您已可以登录了。从网络上安装了SSH的另一台计算机上,打开一个终端窗口并发出命令:

sftp USERNAME @ SERVER_IP

USERNAME是我们新用户的名称,SERVER_IP是我们SFTP服务器的IP地址。系统将提示您输入USERNAME的密码。成功进行身份验证后,您将收到sftp提示符。键入pwd以检查工作路径,您能看到/upload。

这就是在Linux上设置SFTP服务器的全部内容。对于希望为员工和客户提供简单,安全的上传和下载文件的公司而言,这是一个很好的解决方案。