什么是FTP?在Ubuntu上設置FTP服務器的步驟是什么?

2024-04-24    分類: 網(wǎng)站建設

在本文中,您將學習如何在 Ubuntu VPS上設置 FTP 服務器。我們將使用vsftpd服務器,它被廣泛認為是類 UNIX 系統(tǒng)中最快和最安全的 FTP 服務器。

什么是 FTP?

FTP,或文件傳輸協(xié)議,是一種使用 TCP/IP 協(xié)議通過 Internet 連接在計算機之間共享文件的方法。它還利用客戶端-服務器框架和SSL/TLS 安全性來確保安全可靠的數(shù)據(jù)傳輸。

這有點類似于HTTP(超文本傳輸??協(xié)議)或SMTP(簡單郵件傳輸協(xié)議)。不同之處在于,F(xiàn)TP 負責通過 Internet 傳輸文件,而 HTTP 和 SMTP 分別處理網(wǎng)頁和電子郵件的傳輸。在開始之前,請記住我們將指導您在Ubuntu?18.04 上配置 FTP 服務器。因此,您需要確保您的 VPS 正在該特定操作系統(tǒng)上運行。

如何在 Ubuntu 上設置 FTP 服務器

本教程要求您知道如何通過 SSH 連接到服務器。如果您擁有Hostinger 的 VPS,登錄詳細信息可在hPanel 的服務器選項卡中找到。

步驟 1 – 安裝 vsftpd 首先,在繼續(xù)安裝vsftpd之前,我們必須獲取軟件包更新?。首先,運行以下命令: sudo apt-get 更新

等待所有過程完成,您將在更新完成后立即看到確認信息。 完成后,使用以下命令 安裝vsftpd守護進程: sudo apt-get 安裝 vsftpd

系統(tǒng)將提示您一條確認消息,要求您鍵入Y并按Enter鍵以繼續(xù)安裝。 安裝完成后,您應該備份原始文件,以便您可以從空白配置文件開始: sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.original

現(xiàn)在我們準備好配置防火墻了。 第 2 步 – 允許來自防火墻的 FTP 流量 為了允許 Ubuntu FTP 服務器通過互聯(lián)網(wǎng)進行通信,它需要通過防火墻。但首先,讓我們看看防火墻是否已經(jīng)在您的機器上啟用。只需運行此命令即可驗證狀態(tài): sudo ufw 狀態(tài)

如果您看到以下消息:

ufw:找不到命令

這意味著沒有安裝防火墻。您可以通過鍵入以下內(nèi)容來安裝和啟用它:

sudo apt-get 安裝 ufwsudo ufw 啟用 如果它已經(jīng)處于活動狀態(tài),您仍然需要確保允許 FTP 流量。為此,請一一執(zhí)行以下命令: sudo ufw 允許 OpenSSHsudo ufw 允許 20/tcpsudo ufw 允許 21/tcpsudo ufw 允許 990/tcpsudo ufw 允許 40000:50000/tcp

這一系列命令會打開幾個端口:

如果您仍然希望通過 SSH 訪問您的服務器,則需要OpenSSH 。有時,此選項默認啟用。 端口20和21用于 FTP 流量。 端口40000:50000將保留用于最終將在配置文件中設置的被動端口范圍。 啟用 TLS 時將使用端口990 。 現(xiàn)在讓我們再看看狀態(tài): sudo ufw 狀態(tài)

輸出應如下所示:

狀態(tài):活躍采取行動從--------------OpenSSH 允許任何地方990/tcp 允許任何地方20/tcp 允許任何地方21/tcp 允許任何地方40000:50000/tcp 允許任何地方OpenSSH (v6) 允許任何地方 (v6)20/tcp (v6) 允許任何地方 (v6)21/tcp (v6) 允許任何地方 (v6)990/tcp (v6) 允許任何地方 (v6)40000:50000/tcp (v6) 允許任何地方 (v6) 第 3 步 – 創(chuàng)建用戶目錄 設置防火墻后,我們必須創(chuàng)建要使用 FTP 訪問的用戶。這是怎么做的: 須藤添加用戶托管

請記住根據(jù)您自己的喜好更改用戶名。 然后,輸入用戶密碼并填寫所有必需的詳細信息。

理想情況下,出于安全目的,F(xiàn)TP 應限制在一個特定的目錄中。這就是vsftpd使用chroot jails的原因,它默認將本地用戶限制在他們的主目錄中。
但是,由于vsftpd 的安全性,用戶可能無法寫入該目錄。要解決此問題,我們不必從主文件夾中刪除寫入權限。相反,我們將創(chuàng)建一個充當chroot的 ftp 目錄。它包含一個可寫目錄,負責保存所需的文件。 使用以下命令創(chuàng)建 FTP 文件夾: sudo mkdir /home/hostinger/ftp

然后,使用以下方法設置所有權:

sudo chown nobody:nogroup /home/hostinger/ftp

最后,刪除寫權限:

sudo chmod aw /home/hostinger/ftp

現(xiàn)在,使用以下命令來驗證權限:

sudo ls -la /home/hostinger/ftp

輸出應類似于:

共 8 個dr-xr-xr-x 2 nobody nogroup 4096 Oct 8 11:32 。drwxr-xr-x 3 hostinger hostinger 4096 Oct 8 11:32 .. 接下來,我們將創(chuàng)建文件存放目錄并分配所有權: sudo mkdir /home/hostinger/ftp/文件sudo chown hostinger:hostinger /home/hostinger/ftp/文件

最后,在目錄中添加一個測試文件,稍后我們測試所有內(nèi)容時將使用該文件:

echo "vsftpd 示例文件" | sudo tee /home/hostinger/ftp/files/sample.txt 第 4 步 – 配置 vsftpd

下一步是配置 vsftpd 和我們的 FTP 訪問。在此示例中,我們將允許單個用戶使用本地 shell 帳戶進行連接。為此所需的兩個關鍵配置已在配置 (?vsftpd.conf?) 文件中設置。

首先,使用 nano 命令打開vsftpd配置文件。 須藤納米 /etc/vsftpd.conf

驗證內(nèi)容是否具有與此類似的設置:

. . . # 允許匿名 FTP?(默認情況下禁用)。anonymous_enable=NO # # 取消注釋以允許本地用戶登錄。local_enable=YES。. .

在同一個文件中,我們將刪除#(取消注釋)并確保啟用write_enable。

. . . 寫啟用=是。. . 您還需要取消注釋chroot以確保 FTP 用戶僅訪問允許目錄中的文件。也將NO值更改為YES 。請記住,有兩行是這樣的,您必須取消對它們的注釋。 . . . chroot_local_user=YES 。. . 您還應該將一些新值添加到文件底部。第一個是local_root 目錄路徑中的user_sub_token。它將允許配置與當前用戶或隨后添加的任何其他用戶一起使用: user_sub_token=$USER local_root=/home/$USER/ftp 為確保有大量連接可用,我們將限制配置文件的端口數(shù): pasv_min_port=40000 pasv_max_port=50000 在本教程中,我們打算根據(jù)具體情況允許訪問。因此,我們將配置設置為僅向您已明確添加到列表中的用戶授予訪問權限: userlist_enable=YES userlist_file=/etc/vsftpd.userlist userlist_deny=NO

當您將userlist_deny 標志設置為NO時,只允許指定的用戶訪問。完成后,依次單擊CTRL+X和Y進行保存,然后按 Enter確認文件更改。 最后,我們將創(chuàng)建一個用戶列表并將用戶添加到文件中: 回聲“主機” | sudo tee -a /etc/vsftpd.userlist

通過運行以下命令驗證用戶確實處于活動狀態(tài):

cat /etc/vsftpd.userlist

輸出應為“hostinger”,如以下屏幕截圖所示: 使用以下命令重新啟動守護程序以加載配置更改: sudo systemctl 重新啟動 vsftpd 第 5 步 – 使 FTP 安全 默認情況下,F(xiàn)TP 不加密數(shù)據(jù),因此我們將使用SSL/TLS證書來保護數(shù)據(jù)傳輸。第一步是我們需要為 Ubuntu FTP 服務器創(chuàng)建 SSL 證書。 sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem

–days標志使證書有效期為一年,我們在同一命令中包含了一個2048 位RSA私鑰。 出現(xiàn)提示后,在提供的字段中輸入相應的個人詳細信息。 完成創(chuàng)建證書后,再次打開配置文件: 須藤納米 /etc/vsftpd.conf

文件末尾應包含以rsa開頭的兩行。

# rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem# rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key

現(xiàn)在,我們將配置文件指向我們剛剛創(chuàng)建的證書。在前面幾行的正下方添加以下目錄:

rsa_cert_file=/etc/ssl/private/vsftpd.pemrsa_private_key_file=/etc/ssl/private/vsftpd.pem 接下來,我們將啟用 SSL 并確保只有擁有有效 SSL 的客戶才能聯(lián)系我們。只需輸入這一行: ssl_enable=YES

然后,添加以下行以禁止通過 SSL 的任何匿名連接:

allow_anon_ssl=否force_local_data_ssl=YESforce_local_logins_ssl=YES

使用以下命令將服務器配置為使用 TLS:

ssl_tlsv1=是ssl_sslv2=否ssl_sslv3=否 現(xiàn)在我們將更改兩個選項。首先,禁用SSL 重用以防止 FTP 客戶端崩潰。其次,我們將使用高度加密的密碼套件,確保密鑰長度等于或大于 128 位。 require_ssl_reuse=否ssl_ciphers=高

按CTRL+X后跟Y再次保存文件,然后按Enter。 讓我們再次 重啟vsftpd以應用新配置: sudo systemctl 重新啟動 vsftpd

做得好!您現(xiàn)在已經(jīng)在 Ubuntu VPS 上配置了 FTP 服務器以使用 SSL/TLS 協(xié)議。

第 6 步 – 測試與 FileZilla 的連接

如今,大多數(shù) FTP 客戶端都支持 TLS 加密配置。這是測試您的 Ubuntu FTP 服務器是否正常工作的好方法。為了測試連接,我們將使用FileZilla FTP 客戶端。

首先,啟動FileZilla并單擊站點管理器圖標。然后,在提示窗口中單擊新建站點按鈕以輸入 Ubuntu FTP 服務器詳細信息。
使用新創(chuàng)建的 Ubuntu FTP 服務器信息填寫所有必填列。由于我們將其配置為使用 TLS,因此我們還可以選擇Use explicit FTP over TLS選項。最終配置應如下所示:
準備就緒后,單擊“連接”,將出現(xiàn)要求輸入 FTP 用戶密碼的屏幕。之后,點擊OK。 最后,您需要在 Ubuntu VPS 上驗證 FTP 服務器的 SSL 證書。確認后,帶有測試文件的根目錄現(xiàn)在應該出現(xiàn)在您的屏幕上。

就這樣!現(xiàn)在,您可以執(zhí)行從計算機到 Ubuntu FTP 服務器的各種文件傳輸,反之亦然。

結論

擁有 Ubuntu FTP 服務器可以讓您輕松地在 Ubuntu VPS/服務器和計算機之間共享文件。得益于 SSL/TLS 安全性和 TCP/IP 協(xié)議,它是一種安全可靠的數(shù)據(jù)傳輸方法。

網(wǎng)頁題目:什么是FTP?在Ubuntu上設置FTP服務器的步驟是什么?
文章位置:http://muchs.cn/news15/325115.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設、自適應網(wǎng)站、企業(yè)建站、App開發(fā)、服務器托管建站公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司