對於開發者來說,終端機是熟悉的工具,但有時卻希望能在 GUI(圖形用戶介面)環境中直觀地管理檔案和目錄。特別是在需要連接到專用的終端機伺服器時,傳輸檔案或理解結構的工作有時會感到繁瑣。

這時候,SFTP(SSH 檔案傳輸協議) 及支援此協議的本地 GUI 檔案瀏覽器就顯得特別有用。它就像在操作本地電腦的資料夾一樣,可以自由地探索和管理遠端伺服器的檔案系統,簡直是魔法般的方式!

同時使用 GUI 檔案瀏覽器和終端機的場景


什麼是 SFTP?

SFTP 是一種基於 SSH(安全外殼)協議的檔案傳輸方式。如名稱所示,它提供了與 FTP(檔案傳輸協議)類似的功能,但由於 SSH 的強大 加密功能,這樣的做法使得檔案的傳輸更加 安全

  • FTP 與 SFTP: FTP 以明文方式傳送使用者名稱、密碼和檔案內容,因此在安全性上相對不可靠。而 SFTP 通過 SSH 隧道進行所有通訊的加密,讓敏感資訊也可以安全地傳輸。
  • 除了檔案傳輸,還有其他功能: 不僅僅是傳送檔案,還可以探索遠端伺服器的檔案系統,建立/刪除目錄,和變更檔案權限等進行各種檔案管理作業。

我們通常使用的 ssh 命令是通過終端機連接到遠端伺服器並執行命令,而 SFTP 則是專門針對 檔案系統訪問 的。


SFTP 與 GUI 檔案瀏覽器集成:無需終端機進行檔案管理

在 Linux GUI 環境下,只需在基本檔案瀏覽器(例如 Ubuntu 的 Nautilus、KDE 的 Dolphin)中輸入 SFTP 地址,即可連接到遠端伺服器,並在 GUI 環境中管理檔案。這是一個可以大大提升開發工作流程的強大功能。

連接方式(以 Linux 為例)

  1. 打開檔案瀏覽器: 打開 Nautilus(檔案)、Dolphin 等任何你使用的 Linux 檔案瀏覽器。

  2. 選擇 '+ 其他位置' 或 '網路瀏覽': 通常位於檔案瀏覽器左側邊欄的底部。

  3. 輸入伺服器地址: 在地址輸入框中以以下格式輸入 SFTP 地址。

    sftp://[使用者名稱]@[目標主機]:[端口]

    • [使用者名稱]: 用來連接到遠端伺服器的使用者帳號。 (如果本地使用者名稱和遠端伺服器使用者名稱相同則可以省略。)
    • [目標主機]: 遠端伺服器的 IP 地址或域名。
    • [端口]: SSH 的端口號。如果使用基本 SSH 端口(22)則可以省略。
      • 示例:sftp://myuser@myremoteserver.com:2222 (使用第 2222 端口)
      • 示例:sftp://admin@192.168.1.100 (使用基本的 22 端口)
      • 示例:sftp://myremoteserver.com (使用者名稱和端口均使用基本值)
    • 輸入驗證資訊: 將出現通過 SSH 密鑰或密碼進行身份驗證的窗口。根據您的伺服器接入方式,填寫必要資料並點擊 '連接' 或 '驗證' 按鈕。

    • 如果使用 SSH 密鑰: 可能會出現要求該密鑰密碼(passphrase)的窗口。如果未設置 passphrase,則 id_rsa 或 id_ed25519 檔案將自動識別並立即連接。

    • 如果使用密碼: 輸入伺服器接入密碼。
  4. 連接完成: 若認證成功,遠端伺服器的檔案系統將在本地檔案瀏覽器中掛載。現在,您可以像操作本地磁碟一樣,複製、移動或刪除伺服器上的檔案,或創建新的目錄。

  5. 將連接的伺服器用 滑鼠右鍵 註冊為最愛,讓您隨時能像使用本地機器的掛載驅動器一樣使用伺服器的檔案系統。

在 Nautilus(Ubuntu)中的實際案例:

  1. 打開 Nautilus。
  2. 在左側邊欄中點擊 + 其他位置
  3. 在底部的 連接到伺服器 輸入框中輸入例如 sftp://myuser@myremoteserver.comsftp://myuser@123.45.67.89:2222,然後按 連接 按鈕。
  4. 在認證彈出窗口中輸入密碼或 SSH 密鑰的密碼。
  5. 如果成功連接,myremoteserver.com 的主目錄將顯示在 Nautilus 中,並可以像操作本地資料夾一樣探索和管理檔案。

這種方式為什麼有用?

這種基於 GUI 的 SFTP 連接在開發過程中對各種情況非常有幫助。

  1. 直觀的檔案探索與管理: 當不熟悉終端命令(ls、cd、cp、mv、rm 等)或想快速了解複雜的目錄結構時非常有用。通過拖放可以輕鬆地移動檔案。 無需在終端中一一輸入檔案名稱和路徑的方便性簡直太棒了。
  2. 編輯腳本/設定檔: 可以直接在本地常用的 GUI 文本編輯器(VS Code、Sublime Text、Atom 等)中打開並修改伺服器的設定檔或腳本並保存。對於習慣使用基於終端的編輯器(Vim、Nano)有困難的用戶特別方便。
  3. 檢查日誌檔: 可以直接使用 GUI 瀏覽器打開伺服器中海量的日誌檔,並將其下載到本地分析,或快速搜尋特定部分。
  4. 圖像、媒體檔管理: 當需要直接打開或預覽伺服器中儲存的圖像或媒體檔時,GUI 環境的效率更高。
  5. 非開發者合作: 非開發者如產品經理或設計師等需要訪問和管理伺服器上的某些資源(例如圖像、PDF 文檔)時,可以無需教學終端命令而提供 GUI 環境。

結語

運用 SFTP 的 GUI 檔案瀏覽器集成,為不熟悉終端命令的伺服器檔案管理用戶提供了創新的便利。此外,對於熟練的開發者來說,有時 GUI 的直觀性比終端命令更有效率。

立即打開您的 Linux 檔案瀏覽器,輸入 SFTP 地址,讓遠端伺服器的檔案在您手中!您將發現 SSH 另一個有用的面貌。

如果您對這個功能有任何疑問,請隨時詢問!