连接到FTP服务器测试
我们现在应该能够通过IP地址或者主机名连接到FTP服务器。
如果系统还未安装FTP客户端实用程序,可以使用下面命令安装:
$ sudo apt install ftp
通过命令行连接到FTP服务器:
$ ftp 127.0.0.1
执行命令查看测试文件:
ftp> ls
常见问题
连接到服务器时,提示“Connection refused”
解决方案:
检查服务状态:
$ systemctl status vsftpd
检查防火墙,开放对应的ftp端口:
$ sudo ufw allow from any to any port 20,21,10000:10100 proto tcp
检查ftp服务器地址。
FTP表示“File Transfer Protocol(文件传输协议)”,是一个很好的协议,用于从远程或者本地服务器从远程或者本地服务器下载文件,或者将文件上传到服务器上。
在本教程中,我们将学习:
- 如何在Ubuntu上安装和配置vsftpd
- 如何设置FTP用户帐户
- 如何通过命令行连接到FTP服务器
- 如何通过GUI连接到FTP服务器
- 如何配置匿名FTP登录
- 如何更改默认的FTP侦听端口
- 故障排除“连接拒绝”FTP连接错误
安装VSFTPD
$ sudo apt install vsftpd
允许匿名访问vsftpd
如果我们希望其他人能够在不提供用户名和密码的情况下访问FTP服务器,则可以配置匿名身份验证。
编辑配置文件 /etc/vsftpd.conf
$ sudo nano /etc/vsftpd.conf
找到 anonymous_enable=NO
行,将其改为YES:
anonymous_enable=YES
重启VSFTPD服务,使更改生效。
$ sudo systemctl restart vsftpd
要测试匿名登录,执行ftp 127.0.0.1
命令。
用户名为anonymous,密码为空。
收到230 Login successful
表明匿名登录设置成功。
创建FTP用户
创建新用户并设置密码:
$ sudo useradd -m ftpuser $ sudo passwd ftpuser New password: Retype new password: passwd: password updated successfully
创建一个测试文件
$ sudo bash -c "echo FTP TESTING > /home/ftpuser/FTP-TEST"
更改默认FTP端口号
默认情况下,FTP协议在端口21上侦听用户身份验证,在端口20上侦听数据传输。
在/etc/vsftpd.conf
上修改ftp监听地址:
listen_port=2121
配置VSFTPD服务器
备份默认配置文件:
$ sudo cp /etc/vsftpd.conf /etc/vsftpd.conf_orig
编辑VSFTPD配置文件:
$ sudo nano /etc/vsftpd.conf
基本配置参考,此配置足以满足基本FTP服务器,后面可以根据环境需要进行调整:
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 rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key ssl_enable=NO pasv_enable=Yes pasv_min_port=10000 pasv_max_port=10100 allow_writeable_chroot=YES
Ubuntu的内置防火墙为UFW,设置防火墙允许FTP流量
$ sudo ufw allow from any to any port 20,21,10000:10100 proto tcp
重新启动VSFTPD以应用新更改:
$ sudo systemctl restart vsftpd
日期:2020-07-07 20:55:39 来源:oir作者:oir