我正在尝试设置 vsftpd(或其他应用程序)作为 Ubuntu 服务器上的 sftp 服务。我想为一个(或少数几个)系统用户公开 sftp,理想情况下,他们应该有一个 chroot 监狱,位置与他们的主目录不同。这似乎是我应该能够使用 vsftpd 处理的事情,但是我不明白发生了什么,并且怀疑“其他一些服务”实际上正在响应我的 sftp 请求。这就是我所做的:
- apt install vsftpd 并据我所知进行配置。
- 我可以 sftp 进入服务器并放置和获取文件,但是 chroot 不起作用。
- 我删除vsftpd
apt purge vsftpd
- 我仍然可以使用 sftp 连接到服务器并放置和获取文件吗?
所以 - 似乎我需要理解/解决的第一个问题是谁在实际回复我的 sftp 请求 - 因为它似乎不是 vsftpd 安装?
这是一个股票 Ubuntu 20.04 安装
好的 - 正如@steeldriver 所指出的,我的主要困惑来自于我使用的是 openssh 的 sftp 服务,而不是我安装的 vsftpd 软件。
SFTP实际上是SSH 文件传输协议,又名安全文件传输协议。它是一个 SSH 应用程序,与FTP无关(因此也与
vsftpd
. 正如你所说的,它是由包openssh-server
service 提供sshd
。您可能正在寻找FTPS(FTP Secure aka FTP-SSL),它是 FTP 的扩展,因此可以由
vsftpd
其他 FTP 服务器提供;它使用 TLS 使 FTP 安全。更复杂的是,曾经有一个SFTP(简单文件传输协议),一种不安全的简化版本的 FTP,它从未成为标准,现在仅具有历史地位。现在使用的一种简化的、轻量级的、无需登录的 FTP 是TFTP(普通文件传输协议)。
您可以使用 SFTP 或 FTPS 来替换不安全的纯文本 FTP。我会说 SFTP 可能更标准和更强大。