在Ubuntu 18.04 LTS上安装和配置VSFTPD服务器

在Ubuntu 18.04 LTS上安装和配置VSFTPD服务器

Vsftpd也称为非常安全的FTP守护程序,是类Unix系统的FTP服务器。 FTP是最广泛使用的标准网络协议,用于通过网络在两台计算机之间上载/下载文件。 默认情况下,FTP是不安全的,因为它与用户凭据一起传输数据而不加密。

在本教程中,我们将学习如何在Ubuntu 18.04服务器上安装具有SSL / TLS支持的Vsftpd。

要求

  • 运行Ubuntu 18.04的服务器。
  • 具有sudo权限的非root用户。
  • 配置静态IP地址192.168.0.102。

安装Vsftpd

默认情况下,Vsftpd在Ubuntu 18.04默认存储库中可用。 因此,只需运行以下命令即可轻松安装它:

sudo apt-get install vsftpd -y

安装Vsftpd后,启动Vsftpd服务并使其在启动时启动:

sudo systemctl start vsftpd
sudo systemctl enable vsftpd

为FTP创建目录结构

在开始之前,您需要创建用于FTP访问的用户。

您可以使用以下命令创建用户:

sudo adduser vsftp

接下来,使用以下命令创建ftp目录并设置所有权:

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

接下来,创建一个可以上载文件的目录,并为vsftp用户提供所有权:

sudo mkdir /home/vsftp/ftp/test
sudo chown vsftp:vsftp /home/vsftp/ftp/test

配置Vsftpd

接下来,您需要执行一些配置来设置FTP服务器。

首先,创建原始配置文件的备份:

sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak

接下来,打开vsftpd.conf文件:

sudo nano /etc/vsftpd.conf

添加以下行:

 listen=NO
 listen_ipv6=YES
 anonymous_enable=NO
 local_enable=YES
 write_enable=YES
 local_umask=022
 dirmessage_enable=YES
 use_localtime=YES
 xferlog_enable=YES
 connect_from_port_20=YES
 chroot_local_user=YES
 secure_chroot_dir=/var/run/vsftpd/empty
 pam_service_name=vsftpd
 pasv_enable=Yes
 pasv_min_port=10000
 pasv_max_port=11000
 user_sub_token=$USER
 local_root=/home/$USER/ftp
 userlist_enable=YES
 userlist_file=/etc/vsftpd.userlist
 userlist_deny=NO

保存并关闭文件。 您可以根据需要更改上述配置。

接下来,您还需要将vsftp用户添加到/etc/vsftpd.userlist文件以允许FTP访问:

sudo nano /etc/vsftpd.userlist

添加以下行:

vsftp

保存并关闭该文件,然后重新启动Vsftpd服务以应用这些更改:

sudo systemctl restart vsftpd

现在,打开Web浏览器并输入URL ftp://92.168.0.102 ,系统将要求您输入用户名和密码以访问FTP。 输入您的vsftp用户名和密码,然后单击“ 确定”按钮。 您应该看到以下页面:

使用SSL / TLS保护Vsftpd

接下来,您需要启用SSL / TLS来加密通过FTP传输的数据。

为此,您需要为此创建证书。 您可以使用以下命令使用OpenSSL创建证书:

sudo mkdir /etc/cert
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/cert/vsftpd.pem -out /etc/cert/vsftpd.pem

接下来,您需要修改vsftpd.conf文件并进行一些更改:

sudo nano /etc/vsftpd.conf

添加以下行:

rsa_cert_file=/etc/cert/vsftpd.pem
rsa_private_key_file=/etc/cert/vsftpd.pem
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
require_ssl_reuse=NO
ssl_ciphers=HIGH

保存文件,然后使用以下命令重新启动Vsftpd:

sudo systemctl restart vsftpd

通过SSL / TLS访问FTP

您无法通过浏览器通过SSL / TLS访问FTP服务器。 因此,您需要安装FileZilla FTP客户端才能访问您的FTP服务器。 因为FileZilla支持FTP over SSL / TLS。

您可以使用以下命令安装FileZilla客户端:

sudo apt-get install filezilla -y

安装FileZilla后,从Unity破折号打开它。 您应该看到以下图像:

现在,单击文件>站点管理器 。 您应该看到以下图像:

在这里,添加新站点并提供主机/站点名称,添加IP地址,定义要使用的协议,加密和登录类型。 然后单击“ 连接”按钮。 您应该看到以下图像:

现在,验证用于SSL / TLS连接的证书,然后再次单击“ 确定”以连接到FTP服务器。 您应该在以下页面中看到您的FTP服务器内容:

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏