如何在Linux上设置SFTP服务器
sftp与FTP.
SFTP,是S
ecure F
ile T
ransfer P
rotocol的缩写,是一种很好的协议,用于建立安全和加密连接,安全地传输文件。
这是可能的,因为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.正如我们所知,我们将看到先前创建的目录。