Q:阿里云FTP服务器公网IP地址在哪看?
登录到 阿里云服务器ECS管理控制台 2、在“实例与镜像”–“实例”中,找到当前地域下的云服务器,即可看到IP地址
阿里云服务器IP地址分为公网IP和私有IP。
Q:阿里云ECS的FTP用户名和密码在哪查找?
A:如果用的ECS,那么ftp要自己搭建,搭建方法如下
如何在阿里云ECS中搭建FTP:
1.安装FTP
dnf install -y vsftpd
systemctl enable vsftpd.service
systemctl start vsftpd.service
netstat -antup | grep ftp
结果显示FTP服务已启动,监听的端口号为21。
此时,vsftpd默认已开启本地用户模式,还需要继续进行配置才能正常使用FTP服务。
2.配置vsftpd
运行以下命令,为FTP服务创建一个Linux用户。本示例中,该用户名为wpadmin。
adduser wpadmin
行以下命令,修改wpadmin用户的密码。运行命令后,根据命令行提示完成FTP用户的密码修改。
passwd wpadmin
根据系统提示,密码设置为
wordpress123
运行以下命令,创建一个供FTP服务使用的文件目录。
如果是wordpress,之后需要locate WordPress content directory (wp-content).
位置就在
/usr/share/nginx/html/wordpress/(wp-content这里)
更改wordpress目录的拥有者为wpadmin
chown -R wpadmin:wpadmin /usr/share/nginx/html/wordpress
修改vsftpd.conf配置文件。
nano /etc/vsftpd/vsftpd.conf
文件内容参考下面
具体来说,这么改
anonymous_enable=NO
local_enable=YES
listen=YES
#,注释掉下面一行,关闭监听IPv6 sockets。
#listen_ipv6=YES
#在配置文件的末尾添加下列参数:
#设置本地用户登录后所在目录。
#local_root=/var/ftp/test
local_root=/usr/share/nginx/html/wordpress
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
pasv_enable=YES
allow_writeable_chroot=YES
pasv_address=123.45.16.666
pasv_min_port=50000
pasv_max_port=50010
注意:以下为部分测试练习,与安装ftp配合wordpress建站使用完全无关,可skip。
mkdir /var/ftp/test
运行以下命令,创建测试文件。
该测试文件用于FTP客户端访问FTP服务器时使用。
touch /var/ftp/test/testfile.txt
运行以下命令,更改/var/ftp/test目录的拥有者为wpadmin
格式为:chown [选项]... [所有者][:[组]] 文件...
chown -R wpadmin:wpadmin /var/ftp/test
修改vsftpd.conf配置文件。
nano /etc/vsftpd/vsftpd.conf
#除下面提及的参数,其他参数保持默认值即可。
#修改下列参数的值:
#禁止匿名登录FTP服务器。
anonymous_enable=NO
#允许本地用户登录FTP服务器。
local_enable=YES
#监听IPv4 sockets。
listen=YES
#在行首添加#注释掉以下参数:
#关闭监听IPv6 sockets。
#listen_ipv6=YES
#在配置文件的末尾添加下列参数:
#设置本地用户登录后所在目录。
local_root=/var/ftp/test
#全部用户被限制在主目录。
chroot_local_user=YES
#启用例外用户名单。
chroot_list_enable=YES
#指定例外用户列表文件,列表中用户不被锁定在主目录。
chroot_list_file=/etc/vsftpd/chroot_list
#开启被动模式。
pasv_enable=YES
allow_writeable_chroot=YES
#本教程中为Linux实例的公网IP。
pasv_address=<FTP服务器公网IP地址>
#设置被动模式下,建立数据传输可使用的端口范围的最小值。
#建议您把端口范围设置在一段比较高的范围内,例如50000~50010,有助于提高访问FTP服务器的安全性。
pasv_min_port=<port number>
#设置被动模式下,建立数据传输可使用的端口范围的最大值。
pasv_max_port=<port number>
-
创建chroot_list文件。
nano /etc/vsftpd/chroot_list
输入例外用户名单。此名单中的用户不会被锁定在主目录,可以访问其他目录。
Note没有例外用户时,也必须创建chroot_list文件,内容可为空。
本例中,随意键入空格 -
运行以下命令,关闭防火墙。
sudo systemctl stop firewalld
-
改配置sshd_config文件:
运行以下命令,打开/etc/ssh/sshd_config文件。
nano /etc/ssh/sshd_config
在文件尾行将PasswordAuthentication的值改为yes -
运行以下命令,重启vsftpd服务
systemctl restart vsftpd.service
阿里云ECS上FTP安装完毕
步骤四:配置Linux服务器的防火墙
开放21端口,以及配置文件/etc/vsftpd/vsftpd.conf中参数pasv_min_port和pasv_max_port之间的所有端口。(本例开放50000-50010端口)
-
设置安全组
搭建好FTP站点后,在实例安全组的入方向添加规则并放行下列FTP端口。具体操作如下 -
- 打开【网络与安全】下面的【安全组】然后点击【管理规则】在入方向添加规则,协议类型自定义TCP;
-
- 端口21/21;
-
- 授权对象0.0.0.0/0表示允许所有访问;
-
- 同时添加TCP的端口 50000~50010
最后尝试访问:
比如网站的IP是123.45.16.666,在linux命令行下输入:
ftp 123.45.16.666
如果连接不顺利,可以尝试
-
重启
systemctl restart vsftpd.service
-
在terminal键入
nc -v 123.45.16.666 21
看看有没有回应(这里有点问题,没法正常写入username和password,但可以当ping使用,如果ping成功了,说明至少可以连上,用Ctrl+C退出)
注释:
vsftp配置文件及参数说明
/etc/vsftpd目录下文件说明如下:
/etc/vsftpd/vsftpd.conf是vsftpd的核心配置文件。
/etc/vsftpd/ftpusers是黑名单文件,此文件中的用户不允许访问FTP服务器。
/etc/vsftpd/user_list是白名单文件,此文件中的用户允许访问FTP服务器。
信息来源:https://help.aliyun.com/zh/simple-application-server/use-cases/build-an-ftp-server