|
在 Jetson Orin Nano (Ubuntu 22.04) 上安裝與設定 vsftpd(Very Secure FTP Daemon)非常簡單。請依照以下步驟進行安裝、設定與安全配置: 1.安裝 vsftpd 套件:約 1 分鐘。開啟終端機,更新軟體源並直接安裝 vsftpd: - sudo apt updatesudo apt install vsftpd -y
複製代碼Verification: 輸入 sudo systemctl status vsftpd,確認狀態顯示為 active (running)。 2.備份原始設定檔:安全防護。在修改任何設定前,先備份預設的設定檔: - sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak
複製代碼Verification: 輸入 ls -l /etc/vsftpd.conf* 應可看到備份檔存在。
3.編輯 vsftpd 設定檔:安全性與權限設定。使用文字編輯器(如 nano)開啟設定檔: - sudo nano /etc/vsftpd.conf
複製代碼
請找到並修改(或取消註解)以下關鍵參數: 關閉匿名登入:anonymous_enable=NO 允許本地帳號登入:local_enable=YES 開啟寫入權限(上傳檔案):write_enable=YES 將使用者限制在自己的家目錄(安全隔離):chroot_local_user=YES
編輯完成後,按 Ctrl + O 儲存,Enter 確認,再按 Ctrl + X 離開。 Verification: 檢查檔案修改處是否正確無誤。
4.處理 chroot 安全限制:權限對應。若啟用 chroot_local_user=YES,Ubuntu 的 vsftpd 會要求家目錄不能具備完全寫入權限。為了確保能正常上傳,請在設定檔最下方手動加上這一行: - allow_writeable_chroot=YES
複製代碼
Verification: 儲存設定檔後重啟服務以套用。
5.重啟服務並設定開機自動啟動:套用設定。完成設定後,重啟 vsftpd 服務並設定開機自啟: - sudo systemctl restart vsftpdsudo systemctl enable vsftpd
複製代碼
Verification: 輸入 sudo ss -tulpn | grep ftp,確認系統正在聆聽連接埠 21。
6.設定防火牆 (UFW):網路連線暢通。若您的 Jetson 有啟用 UFW 防火牆,請放行 FTP 連接埠: - sudo ufw allow 20/tcpsudo ufw allow 21/tcp
複製代碼
Verification: 輸入 sudo ufw status 確認規則已成功加入。
這時還不能常連線,連上了但是無法正常寫入檔案 改用 SFTP(透過 SSH 的 22 埠) 是開發環境中最推薦的做法。它不需要額外安裝或設定複雜的 vsftpd 伺服器,直接使用 Jetson 內建的 SSH 服務,不僅傳輸加密,也不會再遇到討厭的 500 Permission denied 或 chroot 權限地獄。
第一步:確認 Jetson 上的 SSH/SFTP 服務已啟動Jetson 預設通常已經安裝並啟動了 SSH 服務。您可以打開 Jetson 終端機快速確認一次: - sudo apt install openssh-server -ysudo systemctl enable --now ssh
複製代碼Verification: 輸入 sudo systemctl status ssh,確認狀態為 active (running) 且監聽在 Port 22。
第二步:在 FileZilla 中改用 SFTP 連線如果您習慣用 FileZilla 圖形介面傳檔案,不需要再點進什麼 upload 資料夾,直接用 SFTP 連進家目錄即可: |