[Ubuntu] vsftpd配置备忘录

首先

因为在本地网络上与子机的数据交换很麻烦,所以我们决定使用FTP进行。以下是当时的设置备忘录。

基本上只是按照以下的描述进行了执行。

 

环境

No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 22.04.3 LTS
Release:        22.04
Codename:       jammy

对vsftpd进行改写:

vsftpd是一个非常流行的FTP服务器软件。

我决定使用vsftpd作为FTP服务器。

安装

请将以下内容改写成中文: sudo apt install vsftpd

vsftpd: version 3.0.5

准备证书

使用以下命令创建。

请使用以下命令在服务器上生成有效期为365天的自签名 SSL 证书,并将其保存在 `/etc/ssl/private/vsftpd.pem` 文件中:

`sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem`

设定

首先进行配置文件的备份。

sudo cp /etc/vsftpd.conf /etc/vsftpd.conf_default -> 使用sudo命令将/etc/vsftpd.conf复制到/etc/vsftpd.conf_default

然后,编辑/etc/vsftpd.conf文件,并添加以下内容。

anonymous_enable=NO
write_enable=YES
local_enable=YES
chroot_local_user=YES

user_sub_token=$USER
local_root=/home/$USER/ftp

rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem
ssl_enable=YES

allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES

ssl_sslv2=NO
ssl_sslv3=NO
ssl_tlsv1=YES

require_ssl_reuse=NO
ssl_ciphers=HIGH

xferlog_std_format=NO

指令

查看日志

日志默认输出到以下位置。
/var/log/vsftpd.log

请用管理员身份查看/var/log/vsftpd.log文件的内容。

启动服务

sudo systemctl start vsftpd

重启服务

sudo systemctl restart vsftpd

服务终止

请停止vsftpd服务。

可以确认服务的状态。

sudo systemctl status vsftpd

自动服务启动注册

sudo systemctl enable vsftpd

自动停用服务。

sudo systemctl disable vsftpd

检查服务的自动启动

sudo systemctl is-enabled vsftpd

为 FTP 准备文件夹

被替换为实际的用户名。

sudo mkdir ftp
sudo chown nobody:nogroup ~/ftp
sudo chmod a-w ~/ftp

sudo mkdir ~/ftp/files
sudo chown <username>:<username> ~/ftp/files

ufw – 无需其他选项

为了以防万一,还应设置防火墙。

设定

sudo ufw allow 20/tcp
sudo ufw allow 21/tcp
sudo ufw allow 990/tcp
sudo ufw allow 40000:50000/tcp

命令

检查 ufw 的状态。

sudo ufw status

启用 ufw

sudo ufw enable

重新加载配置

sudo ufw reload


客户

安装FileZilla作为客户端。

 

  1. <ol在 Host(主机)中输入子机的本地 IP 地址

 

    输入子机用户名和密码

此时会显示一条信息,询问您是否信任证书,请检查内容并信任它。
现在就可以顺利连接了。

bannerAds