Technical Anshu 主页 › 教程 › 设置 SFTP 服务器 Ubuntu
🔐 Ubuntu 上的 SFTP 服务器

设置 SFTP 服务器 Ubuntu - 安全 SSH 文件传输

在 Ubuntu 上安装 OpenSSH,创建传输用户并开始在端口 22 上接受加密的 SFTP 连接——这是大多数指南都会跳过的干净的分步路线。

✍️ Technical Anshu🐧 Ubuntu / OpenSSH🎧 Multi-Language Audio
设置 SFTP 服务器 Ubuntu - 安全 SSH 文件传输
🎧 多语言音频: 在视频播放器中,点击 [设置] (⚙️) ➔ [音频轨道] 选择您的首选语言。

📑章节

  1. 什么是 SFTP — SSH 内的文件传输,端到端加密
  2. 在 Ubuntu 上安装 OpenSSH 服务器包
  3. 启动 ssh 服务并使其在重新启动后仍能正常运行
  4. 确认 sshd_config 中的 SFTP 子系统行
  5. 创建专用的转移用户 - 切勿使用管理员登录名
  6. 打开 SSH 防火墙
  7. 从第二台计算机连接并传输第一个文件
  8. 服务器实际使用前的安全检查

📋 概述和分步指南

1

安装 OpenSSH 服务器包

SFTP 是基于 SSH 的文件传输,因此每个密码和每个文件都经过端到端加密。在 Ubuntu 上,它不是您寻找的单独产品 - 它是 OpenSSH 服务器的一小部分。 Ubuntu 附带了 SSH 客户端,但服务器端是一个单独的包。安装它:

Terminal
sudo apt update
sudo apt install openssh-server

首先运行 sudo apt update 以使软件包列表是最新的,然后安装并使用 Y 确认。安装程序在 /etc/ssh/sshd_config 中创建配置并自动生成该计算机的主机密钥。这确实是所有软件——SFTP 是该服务的一个子系统,而不是额外下载,并且它在标准 SSH 端口 22 上进行响应。

2

启动服务并使其在重新启动后仍能正常运行

包通常会自行启动服务。证明这一点,并确保它在断电后恢复:

Terminal
sudo systemctl status ssh
sudo systemctl enable ssh
sudo systemctl start ssh

sudo systemctl status ssh 应显示绿色的活动(正在运行) 行 — 这意味着 SFTP 服务器已在侦听。 sudo systemctl enable ssh 使其在每次启动时启动,如果它停止,则 sudo systemctl start ssh 将其恢复。稍后进行任何配置更改后,sudo systemctl restart ssh 是应用它的命令。

📌 注意: 在 Ubuntu 上,该服务称为 ssh,而不是 sshd。使用错误的名称是正确指南失败的最常见原因。
3

确认 SFTP 子系统线路

打开config一次简单看一下:

Terminal
sudo nano /etc/ssh/sshd_config

在底部附近您应该会找到这一行,Ubuntu 默认包含该行:

/etc/ssh/sshd_config
Subsystem sftp /usr/lib/openssh/sftp-server

如果该行丢失,请完全按照所示添加 — 如果没有该行,SSH 登录可以工作,但文件传输会被拒绝。暂时不要管其他事情;对此文件的强化更改是有意一次进行一项设置。

4

创建专用转移用户

切勿将您自己的管理员登录信息用于文件传输。创建一个仅用于移动文件的帐户:

Terminal
sudo adduser sftpuser

当询问时设置密码,并使用 Enter 跳过姓名和电话问题 - 它们是可选的。该用户在 /home/sftpuser 处获得一个主文件夹,仅此而已。

✅ 提示:每人一个帐户是使服务器日志稍后有意义的习惯。共享账户意味着共同承担责任——没有人能知道谁转移了什么。
5

打开防火墙

如果 UFW 在服务器上处于活动状态,则端口 22 需要显式传递,然后任何客户端才能访问该服务:

Terminal
sudo ufw allow OpenSSH
sudo ufw status

OpenSSH 配置文件恰好打开端口 22 — 承载 SSH 登录和 SFTP 传输的单个端口。在从另一台计算机进行测试之前,请确认规则已在状态输出中列出。

6

连接并传输第一个文件

从同一网络上的第二台计算机,与转移用户连接。将地址替换为服务器的真实 IP — 在服务器上运行 ip a 即可查看:

Terminal (client machine)
sftp [email protected]

在会话中,put 上传文件,get 下载文件,exit 离开。在 Windows 上,WinSCP 和 FileZilla 都使用 SFTP,并且仅使用地址、端口 22、用户名和密码进行连接。

⚠️警告:在第一次连接时,您将看到指纹提示。仅当您信任该指纹时,才键入 yes — 这是证明您已到达自己的服务器而不是冒名顶替者的检查。现在将此服务器保留在本地网络上:将其放在互联网上是一个不同的决定,首先需要密钥登录而不是密码和像fail2ban这样的保护。在强化完成之前,请勿转发路由器端口。

您的服务器现在正在工作。快速安装为您提供了一台可以工作的服务器,而不是一个完整的服务器——开放互联网上的密码登录、可以看到整个磁盘的用户以及没有登录记录是接下来要一一弥补的三个差距。

🏷️主题搜索变量和关键字

🔍 SFTP Server 🔍 Ubuntu 🔍 OpenSSH 🔍 Secure File Transfer 🔍 SSH Port 22 🔍 openssh-server 🔍 sshd_config 🔍 systemctl ssh 🔍 SFTP User 🔍 UFW Firewall 🔍 WinSCP 🔍 FileZilla 🔍 TechnicalAnshu
🎙️ 完整文字记录 — 点击展开

__TOK_31__

__TOK_32__

__TOK_33__

❓ 常见问题(英文)

本教程是 100% 免费学习的吗?

__TOK_34__

初学者可以遵循本指南吗?

__TOK_35__

如果遇到困难我可以在哪里提问?

__TOK_36__

🚀 在 YouTube 上观看完整教程

__TOK_37__

__TOK_38__

▶️观看完整视频
本教程基于技术安叔的设置SFTP 服务器Ubuntu 视频 • 遇到任何步骤卡住了吗?在视频评论中提问——你会在那里得到帮助🙏