linux搭建sftp服务器教程!

Linux命令

linux搭建sftp服务器教程!

2024-10-03 01:01


在Linux上搭建SFTP服务器的详细教程

                                            




在Linux上搭建SFTP服务器的详细教程

📢 前言

SFTP(Secure File Transfer Protocol)是一种通过SSH(Secure Shell)协议提供安全文件传输功能的网络协议。在Linux服务器上搭建SFTP服务器,可以为用户提供安全、高效的文件传输服务。本文将详细介绍如何在Linux上搭建SFTP服务器,并对每个步骤进行深入解析。


📝 准备工作

在开始之前,您需要确保:

  • 拥有一台运行Linux的服务器,并具有sudo权限。
  • 服务器可以访问互联网,以便安装必要的软件包。
  • 基本的Linux命令行知识,方便您理解和执行操作。

🚀 配置步骤

步骤一:更新系统软件包

首先,更新系统的软件包索引,以确保您获取的是最新的软件包。

sudo apt-get update

🔍 解释

  • sudo:以超级用户权限执行命令。
  • apt-get update:更新软件包列表,获取最新的软件版本信息。

步骤二:安装OpenSSH服务器

安装提供SFTP功能的OpenSSH服务器。

sudo apt-get install openssh-server

🔍 解释

  • apt-get install:安装指定的软件包。
  • openssh-server:OpenSSH的服务器端软件包,提供SSH和SFTP服务。

步骤三:配置SSH服务器

打开SSH服务器的配置文件进行编辑。

sudo nano /etc/ssh/sshd_config

🔍 解释

  • /etc/ssh/sshd_config:SSH服务器的主配置文件。
  • nano:一种简单易用的文本编辑器。

步骤四:启用内部SFTP子系统

在配置文件中,找到以下行:

#Subsystem sftp /usr/lib/openssh/sftp-server

将其注释掉(确保行首有 #),并添加以下新行:

Subsystem sftp internal-sftp

🖍️ 重要提示:使用 <span style="color:red">internal-sftp</span>作为SFTP子系统,以提高安全性。

🔍 解释

  • Subsystem sftp internal-sftp:指定使用OpenSSH内置的SFTP子系统,而非外部可执行文件。

步骤五:添加SFTP专用配置

在配置文件的末尾,添加以下内容:

Match Group sftpusers
    ChrootDirectory /sftp/%u
    ForceCommand internal-sftp
    AllowTcpForwarding no
    X11Forwarding no

🔍 解释

  • Match Group sftpusers:匹配用户组 sftpusers的用户。
  • ChrootDirectory /sftp/%u:将用户的根目录限定在 /sftp/用户名下,增强安全性。
  • ForceCommand internal-sftp:强制执行内部SFTP命令,禁止SSH shell访问。
  • AllowTcpForwarding no:禁止TCP转发,提高安全性。
  • X11Forwarding no:禁止X11转发,防止图形界面漏洞。

步骤六:创建SFTP用户组

sudo groupadd sftpusers

🔍 解释

  • groupadd sftpusers:创建一个名为 sftpusers的用户组,专用于SFTP用户管理。

步骤七:创建SFTP用户

假设您的用户名为 <span style="color:red">username</span>,请执行:

sudo useradd -m -s /bin/false -g sftpusers username

🔍 解释

  • useradd:创建新用户。
  • -m:自动创建用户的主目录。
  • -s /bin/false:禁止用户SSH登录,只允许SFTP访问。
  • -g sftpusers:将用户添加到 sftpusers组。

步骤八:设置用户密码

sudo passwd username

🔍 解释

  • passwd username:为用户 username设置密码。

系统将提示您输入并确认新密码,请确保密码的复杂度,增强安全性。


步骤九:设置SFTP根目录

Linux 命令 - cat 和 tail Nginx 设置禁用 OPTIONS 请求以及允许跨域教程!

© 蓝易云.