热爱技术
专注分享

阿里云下Centos 7简单配置FTP服务器+root账户管理(通用Linux)

FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。用于Internet上的控制文件的双向传输。同时,它也是一个应用程序(Application)。基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议以传输文件。在FTP的使用当中,用户经常遇到两个概念:"下载"(Download)和"上传"(Upload)。"下载"文件就是从远程主机拷贝文件至自己的计算机上;"上传"文件就是将文件从自己的计算机中拷贝至远程主机上。用Internet语言来说,用户可通过客户机程序向(从)远程主机上传(下载)文件。

作为网站服务器,搭建FTP服务是十分必要的,ftp服务可以让你在本地电脑上将文件上传/下载到主机上,如同本地操作一样,对于网站文件的更改,可以做到类似本地复制一样的效果。而且服务器安装了ftp服务,可以当做云盘使用,在任何联网的电脑上都可以通过账号密码登录实现文件的上传、下载、交换等。


需要准备的软件:Xshell、winscp,8uftp(测试ftp服务)。这两个软件请自行百度下载。


一、安装vsftpd。

打开xshell,使用root账户连接自己的服务器。

安装vsftpd:

yum -y install vsftpd

然后启动ftp服务:

service vsftpd start

启动成功反馈如下:

Redirecting to /bin/systemctl start  vsftpd.service


二、测试FTP正常运行。

由于ftp使用的是21端口,而阿里云的云服务器的安全策略一般是没有开21端口的,所以需要去阿里云服务器管理界面,开启21端口。

阿里云云服务器开启21端口方法:

打开阿里云服务器控制台 https://home.console.aliyun.com,点“我的资源”下面的云服务器进入你的实例列表

blob.png

选择右边的更多–安全组配置–添加规则–添加安全组规则  规则配置如下:

blob.png

点确定,就开启了服务器的21端口。

如何验证端口开启:请打开xshell,点窗口上的+号新建一个本地shell,用telnet连接21端口,例如:

telnet 192.168.1.1 21

把如上192.168.1.1换成自己服务器的IP即可。

21端口开启,并被vsftpd服务使用提示:

Connecting to 106.14.154.38:21...
Connection established.
To escape to local shell, press 'Ctrl+Alt+]'.
220 (vsFTPd 3.0.2)

 

三、设置账号,服务器权限。

安装好8uftp,打开后,左上角文件–站点管理器–新站点

主机名:你的服务器IP地址    端口:21    登录类型:一般登录    用户名:root    密码:你的root密码

(由于我们之前已经启动了vsftpd服务,并开启了服务器的21端口,那么正常情况下是能够连接的。)

点击连接,出现如下提示:

状态:  正在连接 106.14.154.38 ...
状态:  已经连接到 106.14.154.38:0。正在等待欢迎信息...
响应:  220 (vsFTPd 3.0.2)
命令:  USER root
响应:  530 Permission denied.
错误:  连接失败

提示为连接成功,但是账号被拒绝登录。一般这样是vsftpd禁止了自带的root用户登录。

用winscp连接到你的服务器,编辑服务器上的/etc/vsftpd/vsftpd.conf,在后面加上:

anonymous_enable=NO    //将YES修改为NO,禁止匿名登录
tcp_wrappers=YES
ascii_upload_enable=YES
ascii_download_enable=YES

打开同目录下的 ftpusers,把 root删掉

然后重启vsftpd服务:

service vsftpd restart

至此配置完成,使用root账号密码登录,可以访问、上传、下载服务器的所有文件了。

因为我是阿里云,我用8Uftp连接我们的服务器,诡异的事情出现了:

响应:  227 Entering Passive Mode (172,19,117,191,78,113).
命令:  TYPE A
响应:  200 Switching to ASCII mode.
命令:  LIST
错误:  无法打开传输通道。原因:由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。
错误:  无法取得目录列表

服务端打开了ftp的被动模式,依旧没有效果,于是发了个工单问了下:

blob.png

日了狗了,阿里云服务器不支持ftp的被动模式。

于是在8uftp里,文件–我的站点–高级–主动模式。

立即就连上了。

美中不足就是只能用客户端的主动模式连接,无法用windows资源管理器连接,其他服务器应该不会出现类似的问题。可以直接配置root用户登录访问整个网站文件

配置完成后加入开机启动:

用winscp打开 /etc/rc.local

加入如下内容:

service vsftpd start

由于centos 7正在版本变迁,rc.local可能不会开机执行,按照配置文档,打开xshell,执行:

chmod +x /etc/rc.d/rc.local

至此,ftp服务配置完成。

赞(1) 打赏
未经允许不得转载:小伟博客 » 阿里云下Centos 7简单配置FTP服务器+root账户管理(通用Linux)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

小伟博客 热爱技术 专注分享

网站发展历程WKM萌妹博客

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

支付宝扫一扫打赏

微信扫一扫打赏