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


