如何在 Ubuntu 20.04 上安裝 ProFTPD

F轉移 rotocol (FTP) 仍然是一種廣泛使用的技術,用於通過計算機網絡移動文件。 它以輕便、易於設置和使用而著稱。 FTP 作為一種不安全的協議而聲名狼藉,因為它以純文本形式傳輸密碼和數據。 但是,像 ProFTPD 這樣的現代 FTP 服務器支持基於 TLS 的 FTP,因此使用 TLS/SSL 對連接進行加密。 在本教程中,我將向您展示如何配置 ProFTPD,以便使用 TLS 加密連接。

ProFTPd 是一個開源 FTP 服務器應用程序,它允許您在 Linux 機器上設置自己的 FTP 服務器,如果它們是專用服務器或云實例,則更是如此。 我們將使用 Focal Fossa 存儲庫在 Ubuntu 20.04 機器上安裝最新版本的 ProFTPD,但它也應該適用於大多數基於 Debian 的發行版。 我們還設置了 TLS 來保護 FTP 連接。

先決條件

  • 一個全新的服務器實例,安裝了 Ubuntu 20.04 (Focal Fossa)。
  • 用於安裝/配置應用程序的 Sudo/root 權限。

更新您的系統

在安裝任何軟件包或軟件之前更新您的系統總是一個好主意,尤其是當它來自外部存儲庫時。 為此,我們將使用“apt-get”實用程序:

sudo apt-get 更新 -y
sudo apt-get 升級 -y

如果有任何內核更新來應用更改,請重新啟動服務器

sudo 馬上重啟

安裝 ProFTPD 服務器

現在您的系統是最新的,我們可以繼續安裝 ProFTPD。

默認情況下,ProFTPD 在 Focal Fossa 存儲庫上可用,您可以使用以下命令安裝:

sudo apt-get install proftpd -y

安裝完成後,就可以啟動proftpd服務並使其在開機時自動啟動。

sudo systemctl 啟動 proftpd
sudo systemctl 啟用 proftpd

現在服務正在運行,我們可以使用以下方法檢查其狀態:

sudo systemctl 狀態 proftpd

ProFTPD 服務正在運行

您可以看到綠色的活動(正在運行),因此可以安全地得出 proftpd 守護程序按預期工作的結論。

ProFTPD 的默認配置文件位於 /etc/proftpd/proftpd.conf 目錄中。

您可以通過運行來查看配置文件的內容:

sudo 納米 /etc/proftpd/proftpd.conf

ProFTPD 配置文件

該配置被分解為多個指令部分。 讓我們來看看這些指令。

DefaultRoot 指令告訴 FTP 服務器默認在哪裡提供文件。 DefaultRoot 的值可以是絕對路徑或相對路徑。 當 DefaultRoot 指令設置為 ~(波浪號字符)時,用戶將被限制在他們的主目錄中。 您可以將路徑更改為另一個文件夾 example:

DefaultRoot /home/Linux/Docs

您可以使用各種指令將每個用戶設置到特定目錄。 為了 example:

DefaultRoot /home/linux A DefaultRoot / B

這些行表示用戶 A 將登錄到 /home/linux 目錄,而用戶 B 將登錄到整個系統。

ServerName 指令用於定義 FTP 服務器的名稱。 該指令可用於日誌和通知,因此您應該將其設置為對您有意義的描述性名稱。

服務器名稱“Vitux”

Port 指令定義 FTP 服務器將在其上偵聽連接的端口號。 該指令的默認值為 21。

創建 ProFTPD 用戶

出於安全原因,您應該創建一個具有受限權限的虛擬用戶帳戶,該帳戶只能訪問其主目錄。 當您允許用戶在您的 FTP 服務器上上傳或下載文件時,這是一個很好的做法。

已安裝的 ProFTPD 版本不附帶預創建的用戶和開箱即用的配置選項。 為此,我們需要添加一個新用戶。

讓我們創建一個 FTP 用戶 linuxways,文件夾 /home/linuxways 作為主文件夾。

sudo 用戶添加 -m linuxways

為新用戶創建一個新密碼。

sudo 密碼 linuxways

現在您可以使用用戶“linuxways”來測試 FTP 連接。 打開您首選的 FTP 客戶端(FileZilla、CoreFTP 或任何其他客戶端),填寫 IP 地址、用戶名、密碼和端口等詳細信息,然後單擊 快速連接.

連接到 FTP 服務器

如您所見,我們現在可以使用新創建的用戶訪問 FTP。 ProFTPd 服務器正在按預期運行和工作。

如果您想添加更多用戶,只需使用您想要的用戶名使用 useradd 命令創建它們。 如果需要,您還可以向 FTP 用戶授予 root 權限。

為 ProFTPD 配置 TLS

為了保護 FTP 連接,您可以使用 TLS。 在本節中,我們將使用來自的 TLS 證書配置 ProFTPD Let’s Encrypt (免費的 SSL 提供商)並在配置文件中激活新創建的證書。

一、安裝OpenSSL

sudo apt-get install openssl -y

安裝 OpenSSL

現在我們已經安裝了 OpenSSL,讓我們生成一個 SSL 證書。

sudo openssl req -x509 -newkey rsa:1024 -keyout /etc/ssl/private/proftpd.key -out /etc/ssl/certs/proftpd.crt -nodes -days 365

讓我們快速看看這裡發生了什麼。 我們正在創建將創建 SSL 證書的目錄 (/etc/ssl),生成證書請求並授予它一年(365 天)的有效期。 我們還指定了私鑰文件和證書文件。 您必須回答一些關於您的組織的問題,如下所示。 只需輸入答案並點擊 Enter

獲取 SSL 證書

上面的命令將創建兩個文件:proftpd.key 和 proftpd.crt,我們需要配置 ProFTPD。

將密鑰文件的權限和權限改為600。

sudo chmod 600 /etc/ssl/private/proftpd.key
sudo chmod 600 /etc/ssl/certs/proftpd.crt

現在我們需要編輯位於 /etc/proftpd/proftpd.conf 的主配置文件,並添加一些關於我們新創建的證書文件的信息。

sudo 納米 /etc/proftpd/proftpd.conf

通過刪除行開頭的“#”來取消對 SSL 和 TLS 部分的註釋,以便您可以通過 SSL 使用 FTP。

在 ProFTPD 中配置 TLS

Save 和 close 文件。 現在讓我們配置 tls.conf 文件

sudo 納米 /etc/proftpd/tls.conf

通過刪除每行開頭的“#”來查找並取消註釋以下行。

啟用 TLS 模塊

SSL證書文件

TLS 選項

Save 和 close 文件。 不要忘記重新啟動服務。

sudo systemctl 重啟 proftpd

如果您想檢查是否一切正常,請使用 FTP 客戶端並在啟用 SSL 的情況下連接到您的服務器。 您應該會收到來自 FTP 客戶端的 TLS 警告

從 FTP 客戶端收到 TLS 警告是很常見的。 在您允許或 警告,應該建立 SSL 連接,您可以繼續像往常一樣使用 FTP 客戶端。

結論

在本教程中,我們在 Ubuntu 20.04 服務器上安裝了 ProFTPD,為 FTP 連接創建了一個用戶並測試了其功能。 我們還配置了 TLS 以保護 FTP 連接免遭竊聽或篡改傳輸中的數據。 如果您需要有關 ProFTPD 配置選項的更多信息,請務必檢查它們 官方文件.