如何在Linux上设置SFTP服务器

时间:2020-02-23 14:39:00  来源:igfitidea点击:

sftp与FTP.

SFTP,是Secure File Transfer Protocol的缩写,是一种很好的协议,用于建立安全和加密连接,安全地传输文件。
这是可能的,因为SFTP使用加密类型的指纹技术来验证在任何数据传输开始之前的主机键。
另一方面,FTP不提供任何类型的加密,不建议在云等不安全的网络上使用。

SFTP闪耀的另一个领域是由于一个更简单的客户端防火墙。
只需要打开端口22即可发送和接收数据,这意味着防火墙配置可以更简单并提高文件共享安全性。
FTP协议需要打开多个通道以进行数据传输。

额外的安全层

此外,还有更多的安全性,我们建议我们在特定用户帐户上启用Chroot功能。
Chroot背后的想法是它取决于隔离某些应用程序,文件并将它们放在像监狱里的内容中,以便从其余机器目录中分离它们。
因此,如果用户帐户具有CHROOT功能,则他或者她是唯一可以访问他或者她的目录,应用程序和文件内容的唯一一个。

在Linux上设置SFTP服务器

在本教程中,我们将通过在Ubuntu机器上设置SFTP。

但是,在开始之前,我们需要确保使用以下命令更新计算机。
以下命令用于更新Ubuntu。
如果我们在其他Linux发行版上,请在进一步进行之前更新系统。

sudo apt update
sudo apt upgrade

1.创建SFTP组和用户

首先,让我们创建一个新的组和用户,我们可以使用SFTP登录。

步骤1.创建一个名为SFTP_theitroad的新组:

sudo addgroup sftp_theitroad

添加新的SFTP组

步骤2.创建名为"sftptheitroaduser"的新用户,并将其添加到先前创建的组。

sudo useradd -m sftptheitroaduser -g sftp_theitroad

添加新的SFTP用户

步骤3.向新SFTP用户添加密码。

sudo passwd sftptheitroaduser

为新的SFTP用户设置密码

步骤4.现在,授予新的SFTP用户完全访问其新的主目录,如下所示:

sudo chmod 700 /home/sftptheitroaduser/

在其主目录上授予完全访问新的SFTP用户

现在我们已准备好安装SSH并配置它。

2.安装SSH守护程序

对于SFTP正常工作,可以安装SSH或者OpenSSH服务器。
如果计算机中没有一个已安装,则使用以下命令安装SSH服务器:

sudo apt install ssh

安装SSH包

3.配置SSH守护程序

SSH安装完成后,打开SSHD配置文件以编辑某些配置。

步骤1.使用我们喜欢的编辑器打开SSHD文件。

sudo vi /etc/ssh/sshd_config

打开SSHD配置文件

步骤2.现在向下滚动到配置文件的末尾并添加下几行:

Match group sftp_theitroad 
ChrootDirectory /home 
X11Forwarding no 
AllowTcpForwarding no 
ForceCommand internal-sftp

保存并关闭SSHD配置文件。

编辑SSHD配置文件

以前的配置意味着允许通过SFTP访问SFTP_theitroad组中的用户访问和使用其主目录。
甚至更多,它将阻止任何其他正常的SSH访问这些文件。

步骤3.现在让我们重新启动SSH服务以应用以前的更改。

sudo systemctl restart ssh

重新启动SSH服务

4.登录SFTP

使用命令行方法

我们可以使用命令行终端在本地地测试登录SFTP。

步骤1.从终端,使用命令登录:

sftp [email protected]

使用sftp登录

步骤2.接下来,将需要SFTP用户名和密码。

SFTP成功连接

步骤3.移动到SFTP用户主目录,然后尝试创建新目录,如下所示:

cd sftptheitroaduser
ls

移动到SFTP用户主目录

mkdir sftpdir
ls

要退出SFTP连接只需执行:

exit

使用图形用户界面方法

如果我们需要使用图形应用程序使用SFTP登录,则可以使用默认的Nautilus Ubuntu文件管理器。

步骤1.从"活动"菜单中,浏览并选择Nautilus文件管理器。

步骤2.在Nautilus文件管理器中,从左侧面板中选择"其他位置"。

步骤3.在底部列中,使用以下命令连接到本地SFTP:

sftp://127.0.0.1

步骤4.输入SFTP用户名和密码。

使用SFTP创建用户登录

步骤5.登录成功后,我们将能够看到SFTP用户主目录。

步骤6.正如我们所知,我们将看到先前创建的目录。