FTP(文件傳輸協(xié)議)是一種在本地計算機與云服務器之間進行文件上傳下載的經(jīng)典方法。無論您是更新網(wǎng)站內(nèi)容、備份數(shù)據(jù)還是共享文件,搭建一個私有的FTP服務都非常實用。對于很多網(wǎng)站管理員和開發(fā)者而言,通過一個工具(如FileZilla)直接與服務器進行文件交互,是日常工作中重要的一環(huán)。而在云服務器上搭建FTP服務,正是為了滿足這一需求。我們以最主流、最安全的vsftpd(Very Secure FTP Daemon)為例,在Linux系統(tǒng)上完成部署。
第一部分:準備工作與環(huán)境確認
擁有一臺云服務器:確保您已擁有一臺運行中的Linux云服務器(如CentOS或Ubuntu)。
獲取服務器登錄權限:使用SSH工具(如Terminal, PuTTY)以root用戶或具有sudo權限的用戶登錄您的服務器。
如果您尚未擁有服務器,恒訊科技提供的多種配置的Linux云服務器,是搭建FTP服務的穩(wěn)定且高性價比的選擇。
第二部分:安裝與配置vsftpd
步驟一:安裝vsftpd軟件
首先,我們通過系統(tǒng)包管理器安裝vsftpd。
對于CentOS/RHEL/Alibaba Cloud Linux系統(tǒng):
bash
sudo yum update -y
sudo yum install -y vsftpd
對于Ubuntu/Debian系統(tǒng):
bash
sudo apt update
sudo apt install -y vsftpd
安裝完成后,啟動vsftpd服務并設置為開機自啟:
bash
sudo systemctl start vsftpd
sudo systemctl enable vsftpd
步驟二:配置vsftpd主配置文件
vsftpd的核心配置文件是 /etc/vsftpd/vsftpd.conf。在修改前,建議先備份:
bash
sudo cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.backup
然后使用vim或nano編輯該文件:
bash
sudo vim /etc/vsftpd/vsftpd.conf
找到并修改以下關鍵參數(shù),確保它們與下文一致:
bash
# 允許本地用戶登錄
local_enable=YES
# 允許用戶上傳文件
write_enable=YES
# 設置本地用戶的掩碼,決定上傳文件的默認權限(022表示755)
local_umask=022
# 啟用被動模式(PASV),這對云服務器至關重要
pasv_enable=YES
# 設置被動模式使用的最小和最大端口范圍,方便后續(xù)防火墻配置
pasv_min_port=30000
pasv_max_port=31000
# 重要!這里需要填寫你的云服務器公網(wǎng)IP地址,否則客戶端可能無法連接。
# 請將 `your_server_public_ip` 替換為您云服務器的實際公網(wǎng)IP。
pasv_address=your_server_public_ip
# 禁止匿名用戶登錄,提升安全性
anonymous_enable=NO
步驟三:配置FTP用戶
出于安全考慮,不建議直接使用root用戶。我們創(chuàng)建一個專用的FTP用戶。
創(chuàng)建用戶(例如,創(chuàng)建一個名為 ftpuser 的用戶):
bash
sudo useradd -d /home/ftpuser -s /bin/bash ftpuser
sudo passwd ftpuser # 隨后會提示你設置該用戶的密碼
設置用戶目錄權限:
bash
sudo chown -R ftpuser:ftpuser /home/ftpuser
第三部分:核心步驟——配置云服務器安全組與防火墻
這是最關鍵且最容易出錯的一步!云服務器的外圍有一道“虛擬防火墻”(安全組),必須放行相應端口,外部客戶端才能連接。
需要放行以下兩類端口:
FTP命令端口:21端口,用于建立控制連接。
FTP被動模式數(shù)據(jù)端口:我們在配置文件中設置的 30000-31000 端口范圍,用于傳輸數(shù)據(jù)。
規(guī)則1:授權策略 允許,協(xié)議類型 FTP(21),源地址 0.0.0.0/0(如需限制IP,可填寫您的本地公網(wǎng)IP)。
規(guī)則2:授權策略 允許,協(xié)議類型 自定義TCP,端口范圍 30000/31000,源地址 0.0.0.0/0。
同時,如果您的云服務器系統(tǒng)內(nèi)部啟用了防火墻(如firewalld或ufw),也需要相應放行這些端口。
對于firewalld(CentOS常見):
bash
sudo firewall-cmd --permanent --add-port=21/tcp
sudo firewall-cmd --permanent --add-port=30000-31000/tcp
sudo firewall-cmd --reload
對于ufw(Ubuntu常見):
bash
sudo ufw allow 21/tcp
sudo ufw allow 30000:31000/tcp
sudo ufw reload
第四部分:重啟服務與客戶端測試
完成所有配置后,重啟vsftpd服務以使配置生效:
bash
sudo systemctl restart vsftpd
現(xiàn)在,您可以在本地計算機上使用FTP客戶端(如 FileZilla、WinSCP)進行測試了。
連接信息:
主機/Host: 您的云服務器公網(wǎng)IP地址
協(xié)議/Protocol: FTP
加密/Encryption: 使用明文FTP(不建議傳輸敏感數(shù)據(jù))或嘗試顯式FTP over TLS(如果配置了SSL)
用戶名/User: ftpuser
密碼/Password: 您為 ftpuser 設置的密碼
端口/Port: 21
連接成功后,您就可以在本地和云服務器的 /home/ftpuser 目錄之間自由拖拽文件了。
第五部分:安全增強建議(可選但重要)
使用SFTP替代FTP:考慮到FTP協(xié)議本身不加密,對于敏感數(shù)據(jù)傳輸,更推薦直接使用SSH File Transfer Protocol (SFTP),它基于SSH,無需額外安裝和配置。
為FTP添加TLS加密:可以通過為vsftpd配置SSL證書,啟用FTPS,對傳輸過程進行加密。
限制用戶訪問目錄:通過配置 chroot_local_user=YES,可以將FTP用戶鎖定在其家目錄內(nèi),防止其訪問系統(tǒng)其他文件。
總結(jié)
通過以上步驟,您已經(jīng)在云服務器上成功搭建了一個功能完整、配置安全的FTP服務。整個過程清晰地展示了從軟件安裝、服務配置到云平臺安全策略聯(lián)動的完整閉環(huán)。
審核編輯 黃宇
-
FTP
+關注
關注
0文章
118瀏覽量
42320 -
云服務器
+關注
關注
0文章
840瀏覽量
14743
發(fā)布評論請先 登錄
EtherCAT FOE工作原理揭秘:客戶端-服務器模型如何運轉(zhuǎn)?
零基礎如何用云服務器搭建網(wǎng)站?完整教程
Node-RED+Modbus_slave:JSON數(shù)據(jù)采集與阿里云服務器上傳
云服務器端口怎么開放?
飛凌嵌入式ElfBoard-常用的網(wǎng)絡服務的搭建之TFTP服務搭建
華納云服務器Linux系統(tǒng)日志集中化管理平臺搭建
第十九章 W55MH32 FTP_Client示例
第十八章 W55MH32 FTP_Server示例
恒訊科技分析:云儲存服務器搭建教程
硅谷GPU云服務器是什么意思?使用指南詳解
云服務器和獨立服務器的區(qū)別在哪?一文讀懂如何選擇
如何在Linux中配置DNS服務器
如何在云服務器上搭建FTP服務進行文件傳輸?
評論