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