阿里云Linux服务器ftp配置,通过windows FlashFXP进行连接的方法

一、基本安装

1.运行以下命令安装 vsftpd。
sudo apt-get install vsftpd

2.查看相关配置文件
ls /etc/vsftpd.conf
/etc/vsftpd.conf 是核心配置文件。

3.安装systemctl
sudo apt-get install systemd

4.运行以下命令设置开机自启动。
systemctl enable vsftpd

5.运行以下命令启动 FTP 服务。
systemctl start vsftpd

6.运行以下命令查看 FTP 服务端口。
netstat -antup | grep ftp

7.配置本地用户登录
本地用户登录就是指用户使用 Linux 操作系统中的用户账号和密码登录 FTP 服务器。
vsftpd 安装后默只支持匿名 FTP 登录,用户如果试图使用 Linux 操作系统中的账号登录服务器,将会被 vsftpd 拒绝,但可以在 vsftpd 里配置用户账号和密码登录。具体步骤如下:

a.运行以下命令创建 ftp用户。
mkdir /home/ftp
chmod 777 /home/ftp
useradd -m -d /home/ftp -s /bin/sh -g root ftp
(删除用户命令:sudo userdel -r ftp)
b.运行以下命令修改 ftptest 用户密码。
passwd ftp

7.修改/etc/vsftpd.conf
a.运行vi /etc/vsftpd/vsftpd.conf。
b.按键 “i” 进入编辑模式。
c.将是否允许匿名登录 FTP 的参数修改为anonymous enable=NO。
d.将是否允许本地用户登录 FTP 的参数修改为local_enable=YES。
e.添加allow_writeable_chroot=YES,否则会报500 OOPS: vsftpd: refusing to run with writable root inside chroot ()错误
f.按键 “Esc” 退出编辑模式,然后按键“:wq” 保存并退出文件。
g.运行命令 cat /etc/vsftpd/vsftpd.conf 查看配置文件内容。

二、基本配置
完成vsftpd安装后发现无法远程连接,仍需要完成以下配置。

原因分析:
FTP连接方式分为:主动模式和被动模式。默认为被动模式。

如果为被动模式,服务器端必须监听至少一个额外的被动模式端口。所以,若只开通20和21端口是不够的,需要另外配置入站端口。

阿里云服务器安全组配置:
进入本实例安全组,点击配置规则,按照如下进行配置:
在这里插入图片描述

在阿里云安全组中,开启8800/8899,20/21 端口 ,也可自定义(后面配置需要用到),仅做参考。

备注参考信息:

FTP的连接一般是有两个连接的,一个是客户程和服务器传输命令的,另一个是数据传送的连接。FTP服务程序一般会支持两种不同的模式,一种是Port模式,一种是Passive模式(Pasv Mode),我先说说这两种不同模式连接方式的分别。
先假设客户端为C,服务端为S.
Port模式:
当客户端C向服务端S连接后,使用的是Port模式,那么客户端C会发送一条命令告诉服务端S(客户端C在本地打开了一个端口N在等着你进行数据连接),当服务端S收到这个Port命令后 就会向客户端打开的那个端口N进行连接,这种数据连接就生成了。
Pasv模式:

当客户端C向服务端S连接后,服务端S会发信息给客户端C,这个信息是(服务端S在本地打开了一个端口M,你现在去连接我吧),当客户端C收到这个信息后,就可以向服务端S的M端口进行连接,连接成功后,数据连接也建立了。

参考链接:https://blog.csdn.net/binsoft/article/details/44595677 (貌似也是转载的,找不到原文…)

添加配置信息 修改配置文件 vim /etc/vsftpd/vsftpd.conf

在文件末尾添加:
pasv_enable=YES
pasv_min_port=8800
pasv_max_port=8899

解释:
8800/8899 为上面安全组添加的端口号
pasv_enable=YES|NO
YES,允许数据传输时使用PASV模式。NO,不允许使用PASV模式。默认值为YES。
pasv_min_port=port number
pasv_max_port=port number

设定在PASV模式下,建立数据传输所可以使用port范围的下界和上界,0 表示任意。默认值为0。把端口范围设在比较高的一段范围内,比如50000-60000,将有助于安全性的提高。

完成以上配置,基本可以实现远程连接FTP。对了,配置完成记得重启服务器systemctl restart vsftpd

三、配置 vsftpd 限制 FTP 账户访问其它目录

使用 vsftpd 搭建 FTP 服务,可以配置用户登录后,限制访问其它的目录,只能进它的主目录。 配置方法如下:

1、打开 vsftp 的配置文件 vim /etc/vsftpd/vsftpd.conf 找到 chroot Chroot_local_user
设置所有的本地用户都执行 chroot chroot_local_user=yes (本地所有帐户都只能在自家目录)

2、设置指定用户执行 chroot
找到并修改 chroot_list_enable=yes

3、chroot_list_file=/ 任意指定的路径 /chroot_list (文件中的名单可以调用)
注意:vsftpd.chroot_list 是没有创建的需要自己创建。若不想限制个别用户,将用户名添加到vsftpd.chroot_list文件中,每个用户名一行。

4、在文件末尾添加

allow_writeable_chroot=YES #对vsftpd有用,否则,因home目录权限为root权限而无法登录

5、为 /home/ftptest 添加权限

6.重启服务器

systemctl restart vsftpd

综上,ftp就配置好了

拓展资料:vsftpd修改默认端口

1、编辑/etc/vsftpd/vsftpd.conf 文件,在该配置文件末尾添加此行:listen_port=6709

2、编辑/etc/services 文件,将其中的
ftp 21/tcp 改为 ftp 6709/tcp ,
ftp 21/udp 改为 ftp 6709/udp

3、重新启动vsftpd 服务。
4、运行命令 netstat -tnulp | grep vsftpd
可以查看到现在系统现监听的vsftpd 的端口为6709

5、最后不要忘记到阿里云安全组添加6709端口号

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值