如何在Centos 7系统上搭建SFTP服务器
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服务器的全部内容。对于希望为员工和客户提供简单,安全的上传和下载文件的公司而言,这是一个很好的解决方案。
