FTP(文件傳輸協議)是一種用于在網絡上進行文件傳輸的標準協議。盡管現在有更多現代替代方案(如SFTP),但FTP因其簡單、兼容性廣,在很多場景下,如網站后臺文件管理、企業內部文件共享等,依然非常實用。
本文將手把手教您如何在Linux系統的云服務器上,使用最流行的 vsftpd(Very Secure FTP Daemon)軟件來搭建一個安全可靠的FTP服務器。我們將以恒訊科技的云服務器為例,但步驟適用于任何品牌的云服務器。
在開始之前,請確保您擁有:
一臺云服務器:您需要一臺已安裝Linux操作系統(如CentOS、Ubuntu)的云服務器。例如,您可以從恒訊科技官網購買一臺入門級云服務器,通常選擇CentOS 7.x或Ubuntu 20.04 LTS等穩定版本。
SSH登錄權限:您能夠使用SSH密鑰或密碼遠程登錄到您的服務器。
云平臺安全組配置權限:這是關鍵一步!云服務器通常通過“安全組”來充當防火墻。您需要登錄到恒訊科技的管理控制臺,找到您云服務器的安全組規則。
使用SSH客戶端(如PuTTY、Terminal)連接到您的云服務器。
對于CentOS/RHEL系統:
bash
# 更新yum包管理器
sudo yum update -y
# 安裝vsftpd
sudo yum install vsftpd -y
對于Ubuntu/Debian系統:
bash
# 更新apt包管理器
sudo apt-get update
# 安裝vsftpd
sudo apt-get install vsftpd -y
安裝完成后,啟動vsftpd服務并設置為開機自啟:
bash
# 啟動服務
sudo systemctl start vsftpd
# 設置開機自啟
sudo systemctl enable vsftpd
vsftpd的主配置文件是 /etc/vsftpd/vsftpd.conf。在修改之前,建議先備份原文件。
bash
sudo cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
然后使用文本編輯器(如vim或nano)編輯配置文件:
bash
sudo vim /etc/vsftpd/vsftpd.conf
找到并修改以下關鍵參數,如果行首有#注釋,請將其刪除:
ini
# 禁止匿名用戶登錄(提高安全性)
anonymous_enable=NO
# 允許本地系統用戶登錄
local_enable=YES
# 允許用戶有寫權限(上傳、刪除文件)
write_enable=YES
# 設置本地用戶創建文件的默認權限
local_umask=022
# 禁止用戶離開其主目錄(將其禁錮在自己的目錄中,非常重要?。?/span>
chroot_local_user=YES
allow_writeable_chroot=YES
# 被動模式配置(PASV),這對云服務器至關重要!
# 請將下面的 [您的云服務器公網IP] 替換為您云服務器的實際公網IP地址
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000
pasv_address=[您的云服務器公網IP] # 例如 pasv_address=123.123.123.123
被動模式(PASV)解釋:由于FTP客戶端與服務器之間存在防火墻(云安全組),主動模式常常會失敗。被動模式要求服務器開放一個端口范圍供客戶端連接,配置此項是成功連接的關鍵。
保存并退出編輯器。
這是讓外網能夠訪問到您FTP服務的關鍵。登錄到恒訊科技的管理控制臺:
找到您的云服務器實例。
進入其關聯的安全組規則配置頁面。
確保已開放以下端口:
端口21(FTP命令端口):這是必須的。
端口30000-31000(FTP被動模式端口范圍):這個范圍必須與配置文件中 pasv_min_port 和 pasv_max_port 一致。
在恒訊科技的安全組規則中,添加入站規則如下:
協議:TCP,端口:21,源:0.0.0.0/0(或您指定的IP段以增強安全)
協議:TCP,端口:30000-31000,源:0.0.0.0/0(或您指定的IP段)
出于安全考慮,不建議直接使用root用戶進行FTP登錄。我們創建一個新用戶,例如 ftpuser。
bash
# 創建用戶,并指定其主目錄,例如 /home/ftpuser
sudo useradd -d /home/ftpuser -m ftpuser
# 為該用戶設置密碼
sudo passwd ftpuser
系統會提示您輸入兩次新密碼,請牢記這個密碼,它將用于FTP登錄。
默認情況下,由于我們開啟了 chroot_local_user=YES,該用戶將被限制在自己的 /home/ftpuser 目錄下,無法訪問系統的其他部分。
讓所有配置生效:
bash
sudo systemctl restart vsftpd
現在,您可以使用FTP客戶端(如FileZilla、WinSCP)進行測試了。
主機/地址:您的云服務器公網IP
用戶名:ftpuser
密碼:您設置的密碼
端口:21
在FileZilla中,建議將“傳輸模式”設置為“被動(PASV)”。
連接失?。?/span> 首先檢查安全組規則是否已正確配置,并確保 pasv_address 填寫了正確的公網IP。
權限錯誤? 確保FTP用戶對其主目錄有讀寫權限(chmod 755 /home/ftpuser)。
更安全的選擇:SFTP 如果您僅需要通過SSH管理文件,實際上無需搭建FTP。因為SSH服務器默認就提供了SFTP功能,它更安全(加密傳輸),且無需額外配置防火墻規則。您可以直接使用SSH用戶憑據通過FileZilla等客戶端連接(協議選擇SFTP)。
SSL/TLS加密:對于更高安全要求,可以考慮配置vsftpd使用FTPS,對傳輸過程進行加密。
通過以上六個步驟,您已經在恒訊科技的云服務器上成功搭建了一個安全可用的FTP服務器。整個過程的核心在于:
正確安裝和配置vsftpd,特別是被動模式參數。
在云平臺安全組中開放正確的端口范圍。
希望這篇教程能幫助您輕松實現文件傳輸的需求。恒訊科技的云服務器性能穩定、網絡優質,為這類應用的穩定運行提供了堅實的基礎。如果您在操作中遇到任何問題,可以隨時參考恒訊科技官方文檔或聯系技術支持獲取幫助。
Copyright ? 2013-2020. All Rights Reserved. 恒訊科技 深圳市恒訊科技有限公司 粵ICP備20052954號 IDC證:B1-20230800.移動站