怎么在云主机安装ftp?

HCRM技术_小炮 云主机 2025-08-04 1 0

在云主机上架设FTP服务并发布网站:清晰指南

怎么在云主机安装ftp

准备工作:

1、获取云主机信息: 你需要知道:

云主机的公网IP地址

系统管理员用户名 (通常是root 或你创建的用户名)

SSH登录密码或密钥

怎么在云主机安装ftp

2、选择FTP服务器软件: Linux下常用且可靠的是vsftpd (Very Secure FTP Daemon)。

3、本地FTP客户端: 如 FileZilla (免费开源)、WinSCP (Windows) 或 Cyberduck (Mac),推荐 FileZilla 作为通用选择。

第一步:通过SSH连接到云主机

打开你的终端 (Windows: PowerShell 或 CMD; Mac/Linux: Terminal)。

使用ssh 命令连接

    ssh 你的用户名@你的云主机IP地址

输入密码 (输入时不会显示字符),或使用密钥认证登录。

第二步:安装 vsftpd

怎么在云主机安装ftp

更新软件包列表

    sudo apt update         # Debian/Ubuntu
    # 或
    sudo yum update         # CentOS/RHEL

安装vsftpd

    sudo apt install vsftpd # Debian/Ubuntu
    # 或
    sudo yum install vsftpd # CentOS/RHEL

第三步:配置 vsftpd

1、备份原始配置文件 (好习惯):

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

2、编辑配置文件:

    sudo nano /etc/vsftpd.conf  # 推荐使用 nano, 或使用 vi/vim

3、修改关键配置项 (找到并修改或取消注释):

anonymous_enable=NO(重要!禁止匿名登录,提升安全)

local_enable=YES(允许本地系统用户登录)

write_enable=YES(允许用户上传文件 - 发布网站必须)

chroot_local_user=YES(将用户限制在其主目录内,防止访问系统文件 - 安全必备)

允许被动模式 (PASV) 连接 (解决客户端连接问题)

        pasv_enable=YES
        pasv_min_port=60000     # 设置一个端口范围 (60000-61000)
        pasv_max_port=61000
        pasv_address=你的云主机公网IP地址 # 必须设置为你云主机的公网IP

(可选但推荐) 添加用户列表限制 (仅允许指定用户使用FTP)

        userlist_enable=YES
        userlist_file=/etc/vsftpd.user_list
        userlist_deny=NO        # 仅允许 user_list 文件中的用户登录

然后创建/etc/vsftpd.user_list 文件,每行一个允许的FTP用户名 (例如your_ftp_user)。

4、保存并退出编辑器 (在 nano 中:Ctrl+X, 然后Y, 然后Enter)。

第四步:处理用户与目录权限

1、创建专用FTP用户 (推荐,更安全):

    sudo adduser your_ftp_user  # 按提示设置密码和其他信息(可回车跳过)

2、设置用户主目录权限 (关键!):

vsftpd 在chroot_local_user=YES 时,要求用户主目录不能有写权限给其他用户,且用户不能拥有主目录的写权限 (一个安全限制),常用做法是

        sudo mkdir /home/your_ftp_user/www  # 在实际存放网站文件的目录
        sudo chown your_ftp_user:your_ftp_user /home/your_ftp_user/www # 所有权给用户
        sudo chmod 755 /home/your_ftp_user   # 用户主目录权限 rwxr-xr-x
        sudo chmod -R 755 /home/your_ftp_user/www # 网站目录权限(755通常足够,如程序需写再调)

* 这样用户your_ftp_user 登录FTP后会被锁定在/home/your_ftp_user,且只能在其下的www 目录上传/下载文件 (因为www 目录的所有权是它),如果需要用户能创建目录/文件,确保www 目录或其子目录对用户有写权限 (chmod 775 www 或更精细控制)。

第五步:配置防火墙

云主机通常有安全组/防火墙规则,你需要开放端口

FTP 命令端口21 (TCP)

FTP 被动模式端口范围 你在配置文件中设置的 (如60000-61000 TCP)

在你的云服务商控制台 (如阿里云、腾讯云、AWS 的安全组) 添加入站规则允许这些端口。

第六步:重启 vsftpd 并测试

1、重启服务使配置生效:

    sudo systemctl restart vsftpd

2、设置开机自启:

    sudo systemctl enable vsftpd

3、本地FTP客户端测试:

* 打开 FileZilla。

主机输入你的云主机公网IP地址

用户名your_ftp_user

密码你设置的密码。

端口21 (默认)。

* 点击快速连接

* 成功连接后,右侧应显示用户主目录 (/home/your_ftp_user),尝试上传一个测试文件到www 目录。

第七步:上传你的网站文件

使用FTP客户端 (如 FileZilla)

1. 左侧 (本地站点):浏览到你本地电脑上的网站文件夹 (包含index.html,images 文件夹等)。

2. 右侧 (远程站点):进入/www 目录 (或你设定的网站根目录)。

3.将本地网站文件夹中的所有内容 (注意不是文件夹本身,除非你需要那个结构)拖拽到右侧的远程/www 目录中。

上传完成后,访问你的域名 (需已解析到云主机IP),应该就能看到网站了!

**⚠️ 极其重要的安全警告 ⚠️

FTP 本身不安全明文传输用户名、密码和所有文件内容!容易被窃听。

强烈推荐替代方案

SFTP (SSH File Transfer Protocol) 使用 SSH 加密通道传输文件,大多数云主机默认开启 SSH (端口 22),直接使用 FileZilla 等客户端选择SFTP 协议 (主机填IP,端口22,用户名密码同SSH),无需额外安装 FTP 服务器!这是目前最推荐、最安全便捷的方式。

FTPS (FTP over SSL/TLS) 为 FTP 添加 SSL/TLS 加密层,配置比 SFTP 复杂很多 (vsftpd 需要额外证书和配置),安全性也不及 SFTP 普遍认可。

如果必须使用 FTP

绝不使用 root 用户登录 FTP! 务必创建专用低权限用户。

务必设置强密码!

务必使用chroot_local_user=YES 限制用户目录。

严格控制防火墙,只开放必要的端口给必要的IP。

* 考虑使用userlist 限制可登录用户。

个人观点: 对于云主机部署网站,SFTP 是绝对的首选方案,它利用现有的、安全的 SSH 服务,无需额外安装配置复杂的 FTP 服务器,天然加密且被广泛支持,除非有非常特定的遗留系统要求,否则直接使用 SFTP 上传和管理文件是更明智、更安全、更高效的选择,将精力放在网站内容和安全防护上,远比折腾过时的 FTP 协议有价值得多,现在就去检查你的连接方式吧!

文章摘自:https://idc.huochengrm.cn/zj/12299.html

评论