如果您使用Windows並且需要安全地在SSH主機之間傳輸文件,Windows工具WinSCP可能是一個很好的選擇。WinSCP是一個開源的Windows工具,允許您通過SFTP、FTP、AWS S3和SCP管理遠程主機上的文件和目錄。
如果WinSCP聽起來很有趣,那麼這本ATA終極指南就是您的最佳選擇!在本指南中,您將學習如何設置WinSCP,並了解WinSCP如何幫助您在遠程主機之間傳輸文件。
讓我們開始吧!
先決條件
如果您想在本指南中的演示中一起操作,請確保您擁有以下內容:
- A Windows XP+ PC – This tutorial will use Windows 10 Enterprise.
- A remote SSH host – This tutorial will use an Ubuntu 18.04.5 LTS machine.
- Putty – 如果您想學習如何在Putty中打開WinSCP會話。
安裝WinSCP
在您能夠像專業人士一樣使用WinSCP操作文件和目錄之前,您必須先下載並安裝它。讓我們開始吧。
打開您喜歡的網絡瀏覽器,導航到WinSCP官方下載頁面,下載最新版本的WinSCP。本教程將使用v5.17.10版本。
預設的 WinSCP 套件將是英文,但您也可以 下載其他翻譯套件。
下載後,運行安裝程序並按照提示進行,接受所有默認值。在 初始用戶設置 螢幕上,本教程將使用 Commander 風格的介面。該介面比精簡的 Explorer 介面具有更多功能。
選擇介面
WinSCP 有兩個名為 Commander 和 Explorer 的用戶界面。這些界面允許您通過典型的 WinSCP(Commander 風格)或使 WinSCP 類似於 Windows 檔案總管來使用 WinSCP。
這兩種界面之間最大的區別是 WinSCP 如何顯示檔結構。您可以在下面看到差異。


您可以隨時更改界面。要更改它們:
1. 在 WinSCP 中,點擊 選項 選單,然後選擇 首選項。

2. 在 環境 類別下,點擊 介面。在這裡您可以看到如何選擇介面。選擇介面後,點擊 確定。

3. 關閉 WinSCP,然後再次打開它。再次運行後,您將注意到 WinSCP 已更改為預期的界面。
本教程將使用默認的 Commander 介面。
連接到遠程主機
您可以在WinSCP中整天使用本地目录和文件,但这不是关键。您正在使用WinSCP来管理远程文件!现在让我们深入了解如何连接到远程机器!
在WinSCP中,有多种连接(和保存连接)到远程主机的方法。首先,让我们先专注于执行简单的一次性连接。要做到这一点,点击会话菜单。您会看到一个新的登录窗口出现,如下所示。
这个窗口是您可以快速连接到远程主机或保存连接到已知为站点的主机的地方,您稍后会了解更多。
如果您没有创建任何站点,窗口将默认显示在左侧窗口的新站点选项上。此时,您不需要担心站点。

要连接到远程主机,WinSCP需要一些参数:
- 檔案協定 – 連接到遠端主機的方法。WinSCP 支援五種不同的協定來連接到遠端主機。
- SFTP 或 SSH 檔案傳輸協定 是一種網路協定,允許您在安全網路上傳輸檔案並管理所有檔案活動。一般來說,它是最慢的,因為它對所有資料進行加密,並等待封包傳輸和確認。
- FTP 或檔案傳輸協定是一種與SFTP類似的協定,但是使用這個協定,您可以選擇進行身份驗證,該身份驗證使用SSL/TLS協定進行保護,或者如果遠端伺服器允許,您可以匿名連接。FTP 比 SFTP 協定快。
- SCP 或安全複製協定是一種從一台機器安全地複製檔案到遠端機器的協定,使用SSH進行連接。SCP僅支援類Unix平台。複製檔案的速度比SFTP快。
- WebDAV 或網路分散式編寫與版本控制是超文本傳輸協定(HTTP)的擴展,允許用戶編輯和管理存儲在Web伺服器上的文件和檔案。
- S3 或亞馬遜簡單儲存服務是由亞馬遜網路服務提供的網路服務。這是一個可以使用各種協定,如REST、SOAP等的儲存服務,但WinSCP 使用REST 與 S3 服務一起工作。
- 主機名稱 – 遠端主機的主機名稱或IP位址。
- 埠號 – 遠端主機的檔案協定所監聽的TCP埠號。大多數SSH實作會監聽在預設的TCP埠號22上。
- 使用者名稱 – 連接到遠端主機的使用者名稱。
- 密碼 – 與使用者名稱連接的密碼。
當您完成填入所有連線資訊後,請點擊登入按鈕以連接到遠端主機。
連線後,WinSCP將顯示遠端主機的主目錄在右側,並顯示當前會話的已連接使用者名稱和主機,如下所示。

此時,您現在可以開始在本地和遠端會話之間導覽目錄並管理檔案。
導覽目錄
當WinSCP與主機建立遠端會話時,它會將您放入您所連接使用者帳戶的主目錄。有可能,這個目錄不是您想要進入的目錄。當發生這種情況時,您必須開始四處尋找您想要使用的目錄和/或檔案。
打開父目錄
就像Windows资源管理器一样,WinSCP在本地和远程会话窗格中将目录表示为文件夹。您可以像以前一样点击并进入目录。但是,与Windows资源管理器不同的是,WinSCP没有向上箭头,允许您导航到父目录。
A file system stores directories in a hierarchical fashion with parent and child directories. If you’re in a child directory, double-click on the two dots (..
), as shown below. You’ll see that WinSCP changes the directory to the current directory’s parent.

打开特定目录路径
尽管您可以使用WinSCP浏览文件系统以查找目录,但如果您事先知道特定目录路径,也可以打开它们。
如果您知道要打开的特定目录路径,请单击本地菜单 -> 转到 -> 打开目录/书签,如下所示。然后,WinSCP将打开一个名为打开目录的窗口,提示您使用浏览按钮输入路径或浏览到一个路径。

您会注意到菜单栏中有一个本地和一个远程选项。这两个选项包含类似的操作。本地菜单在本地计算机上执行操作,而远程菜单在远程计算机上执行操作。
收藏目录
如果您经常访问某些目录,WinSCP允许您将目录添加到收藏夹。将目录添加到收藏夹会创建一个常用目录列表,您可以随时轻松返回。
创建目录收藏夹
要在WinSCP中将目录添加到收藏夹:
1. 在目录窗格中单击要添加到收藏夹的目录。
2. 點擊 本地 選單 —> 添加路徑到書籤。此動作將彈出一個確認框,如下所示。
請注意 添加到共享書籤 复選框。WinSCP 有會話和共享書籤。會話書籤僅適用於當前會話。當您從會話斷開連接時,書籤會消失。另一方面,共享書籤保留保存,您必須手動刪除它們。

3. 點擊 確定 確認書籤。
打開書籤目錄
一旦您創建了一個或多個書籤,您就可以快速導航到這些書籤目錄。要這樣做:
1. 導航到 本地 選單 —> 轉到 —> 打開目錄/書籤。

2. 選擇書籤目錄,如下所示。
在下面的截圖中,您將看到條目 C:\Users\Public 出現在 共享書籤 標籤中。這個書籤存在於此處,因為在保存書籤時,已啟用 添加到共享書籤 复選框。

3. 點擊 確定 打開書籤。
一旦您點擊 確定,WinSCP 將直接帶您到目錄。
導航文件
您將在 WinSCP 中處理大量文件,因此了解相關知識非常重要!除了在文件系統中點擊以外,WinSCP 還有一些您可能不知道的小功能。
尋找文件
如果您想在具有数百或数千个文件的目录中将一些文件传输到/从远程会话中,您不必点击直到找到它们。相反,您可以使用WinSCP的过滤功能来缩小您要查找的范围。
要在文件窗格中过滤掉您不要查找的所有文件:
1. 单击本地 (或 远程)菜单,然后单击过滤器。此操作将打开过滤器对话框,您可以在其中提供文件掩码。
2. 在文件掩码框中,根据所需语法提供一个文件掩码。

3. 单击编辑按钮,您将看到一个创建文件掩码过滤器的图形方式。

4. 单击确定,您将只看到与您的文件掩码匹配的文件。
文件排序
在WinSCP中,您可以根据名称、扩展名、修改日期等各种条件对本地或远程文件窗格中的文件进行排序。
要对文件进行排序,请单击本地 (或 远程)菜单 —> 排序,然后选择您要根据的属性对文件进行排序。

显示隐藏文件
您在本地或远程计算机上没有看到所有已知存在的文件吗?它们可能是隐藏的。要在WinSCP中显示隐藏文件:
點擊選項 —> 首選項。在首選項視窗內,點擊面板部分並選擇顯示隱藏檔案(Ctrl-Alt-H)。
WinSCP 有幾個鍵盤快捷鍵可避免四處點擊。
告訴 WinSCP 顯示隱藏檔案後,它將允許您按預期管理這些檔案。

選擇檔案
在您可以傳輸檔案之前,您必須首先選擇要傳輸的檔案。如果您只是複製幾個檔案,簡單地導航到您需要的目錄,點擊一個檔案,或按住 Ctrl 或 Shift 鍵並選擇多個檔案即可。
有時,您將有許多不同的檔案符合各種條件需要傳輸。在這種情況下,請查看標記選單。在 WinSCP 中,“標記”允許您為特定目錄中的檔案創建過濾器,然後選擇它們全部。
例如,也許您有一個打開的包含許多檔案的大目錄,並且想要僅傳輸具有 ps1 文件擴展名的檔案。要做到這一點:
1. 點擊標記選單,然後點擊選擇檔案…,如下所示。

2. 接下來,指定您想要每個檔案匹配的文件遮罩。

您會注意到選擇檔案和篩選器功能都使用相同的方法來指定文件遮罩。
如果您需要應用更高級的篩選器,您可以點擊編輯按鈕,出現其他應用篩選器的選項。

點擊確定以確認篩選器的選擇,您將看到當前目錄包含所有子目錄,並且選中與選擇篩選器匹配的篩選器。

文件傳輸
現在,您已經對WinSCP進行了自定義設置,連接到了遠程會話,並且知道如何在本地和遠程文件系統中進行導航。現在是時候開始使用WinSCP進行實際操作了,即傳輸一些文件!
在WinSCP中,您可以使用多種不同的方式傳輸(甚至同步)本地和遠程文件。現在讓我們從最簡單到最高級的每種方法進行介紹。
拖放
當您連接到遠程主機時,最簡單的文件傳輸方式之一是通過在本地和遠程窗口之間拖放一個或多個文件。
要通過拖放方式複製文件,首先,導航到您希望將文件傳輸到/從中的本地和遠程目錄,然後單擊並拖動一個或多個目錄或文件。
您還可以使用鍵盤使用箭頭鍵選擇項目,使用空格鍵或插入鍵選擇它們。

複製和粘貼
如果不喜歡拖放,您還可以將文件從/到遠程主機複製和粘貼。要這樣做,選擇一個或多個文件,右鍵點擊它們,然後選擇複製。

在另一个窗口中,导航到您想要复制刚刚选择的文件的目录,右键单击窗口,然后选择粘贴。
调用高级传输
拖放或复制粘贴文件确实可以使用WinSCP传输文件,但您的选项有限。例如,默认情况下,WinSCP使用二进制传输模式。也许您更愿意使用文本模式?您可以设置许多不同的选项来执行WinSCP文件传输。
要调用高级传输,请选择要传输的文件,然后按F5键。按下此键将弹出一个上传窗口,以选择各种传输选项。
此时,您有几个选项。您可以通过单击确定来执行标准传输,或者您可以在此处更改文件掩码以仅传输特定文件。

但是,如果单击传输设置按钮,您将获得更多选项,本教程不涵盖这些选项。在传输设置窗口中,您可以更改传输模式,设置上传后的文件权限,保留本地时间戳等等。

后台传输和传输队列
如果您正在這裡和那裡傳輸文件,通常,您將在前台通過 WinSCP 傳輸文件。您將傳輸文件,觀看進度並繼續進行。但是,如果您有許多不同的文件可能需要花費許多分鐘甚至幾小時,或者有自動化程序,您也可以在後台傳輸文件並使用 WinSCP 佇列。
使用後台傳輸,您可以通過並行傳輸加快文件傳輸速度,或者只是將 WinSCP 控制台空出來,讓文件傳輸時可以做其他事情。
要在後台傳輸文件,請按照上一節中描述的方法調用高級傳輸。在傳輸設置對話框中,您將看到一個標記為在後台傳輸(添加到傳輸佇列)的選項。

在執行傳輸時選擇在後台傳輸選項,WinSCP 將立即將傳輸添加到傳輸佇列中,如下所示。傳輸佇列是 WinSCP 追踪所有後台傳輸的地方。
一旦傳輸進入傳輸佇列,您可以在 WinSCP 中執行其他活動,包括啟動另一個傳輸!傳輸佇列是同時執行各種傳輸並將它們全部排隊而不是等待每個傳輸完成的好方法。

對於每個後台傳輸,WinSCP 會使用您在創建會話時定義的相同會話選項向服務器打開單獨的連接。這些新連接會保持在後台並用於將來的傳輸。
預設情況下,傳輸佇列一次僅嘗試執行兩個傳輸。您可以通過打開 偏好設置 菜單,並在 背景 部分更改下列顯示的 同時最大傳輸數量 來更改此行為。

在 背景傳輸偏好設置菜單 中,您可以更改傳輸佇列的行為。

管理 WinSCP 站點
儘管 WinSCP 讓您可以快速連接到遠程主機,但預設情況下不會保存這些連接。您的環境中可能有許多不同的主機,記住主機名和憑據可能會變得很老套。
假設您經常連接到啟用了 SSH 的遠程主機。您希望保存該連接,以便您可以瀏覽到該主機並自動連接。要創建保存的連接或 WinSCP 稱之為 站點 的內容,您可以保存對遠程主機的連接,以便您只需瀏覽到站點並連接。
創建 WinSCP 站點
要創建 WinSCP 站點並保存您的會話以供以後使用:
1. 如 連接到遠程主機 部分中所述,單擊 會話 菜單並提供所有必要的連接信息。
2. 點擊 保存 按鈕。

3. 接下來,為保存的連接提供一個 站點名稱 和一個可選的文件夾,然後點擊 確定。

如果您只想保存少量連接,您不需要文件夾,但如果您使用WinSCP連接數十甚至數百個不同的主機,將連接分類到文件夾中是一種很好的方式,以便稍後找到這些連接。
現在,在登錄窗口中,您將看到您的新站點。這一次,訪問屬性不可編輯,它們都變成了灰色。這些屬性現在保存在一個站點中。

4. 最後,點擊登錄來測試站點的連接。點擊登錄後,連接到新站點開始。

5. 選擇是將服務器主機密鑰添加到系統緩存中,以便WinSCP信任遠程主機。如果您信任遠程主機的密鑰詳細信息,請點擊是按鈕。
您不必保存服務器主機的密鑰。如果點擊否,您仍然可以連接到遠程主機,但每次都會收到此提示。

一旦您至少創建了一個站點,您現在可以通過點擊會話菜單 -> 站點並點擊要連接的站點來找到它們,如下所示。

編輯、重命名和刪除WinSCP站點
一旦您创建了网站,您就可以按照自己的喜好进行修改。也许您需要编辑现有网站的属性,比如更改主机名或用户名,您也可以在WinSCP中进行这样的操作。
1. 点击会话菜单项,这将弹出登录窗口。您将在登录窗口中看到所有保存的站点。
您还可以通过点击会话菜单 —> 站点 —> 站点管理器来打开登录窗口/站点管理器。
2. 找到要编辑的站点,右键单击站点并点击编辑,如下所示。之前灰掉的选项现在可用于编辑。
要重命名或删除站点,请点击删除或重命名菜单项。您甚至可以通过点击克隆到新站点来创建共享相同用户名的站点副本。

3. 当您编辑完所需属性后,点击保存按钮,如下所示。

在站点管理器中您会看到一个高级按钮。WinSCP将站点存储在文件中。如果您需要修改文件中站点的设置,您可以编辑原始设置并修改不经常使用的高级设置。
备份和还原所有站点
或許您已經建立了數十個網站並且獲得了一台新電腦。現在該怎麼辦呢?WinSCP沒有與之同步的雲服務。您必須手動轉移這些站點。為此,WinSCP有一個稱為配置的概念,允許您備份和還原所有站點。
要導出所有保存的站點:
打開站點管理器,並點擊工具按鈕。點擊導出/備份配置,這將提示您保存所有站點的INI文件到您選擇的位置。

要導入已保存的配置,點擊導入/還原配置。導入配置將覆蓋所有現有的會話!
從其他工具導入站點
如果您使用流行的Putty SSH客戶端並且已經在其中保存了會話,那就沒有理由重新發明輪子。您可以直接將所有這些會話導入WinSCP。
要從其他工具(如Putty)導入站點:
1. 打開會話管理器。
2. 在左側站點菜單的任何位置右鍵單擊,然後單擊導入站點。WinSCP將彈出導入站點窗口,顯示所有支持的源,可以從中導入站點,例如Putty、FileZilla和known_hosts。

3. 選擇要從中導入的來源。然後,WinSCP應該在下面的框中提供它能夠導入的每個站點。
選擇您想要匯入的每個會話,或點擊全選/取消全選按鈕,然後點擊確定來匯入會話。

會話記錄
如果您需要返回到遠程會話中發出的命令,您需要一種保存歷史記錄的方法。WinSCP提供了一個會話記錄功能,正是如此。打開偏好設定菜單項,點擊記錄選項,您將看到一種啟用會話記錄的方法。
不用擔心。除非您選擇了記錄密碼和其他敏感信息勾選框,否則不會記錄任何密碼。

要啟用會話記錄,請勾選在級別上啟用會話記錄勾選框並提供日誌級別。
會話記錄選項
在會話日誌中,WinSCP以一種不受結構約束的方式記錄事件,其方式因會話使用的協議而異。會話日誌通常用於故障排除。
您可以為會話日誌定義幾個不同的日誌級別。
- 減少– 最少粒度的日誌級別。
- 正常– 這個日誌級別通常足以進行大多數故障排除或審計,也是默認值。
- 調試1/調試2 以獲得極端粒度。
日誌路徑是WinSCP將保存日誌文件的位置。在這裡,您可以指定動態條件,讓WinSCP根據日期/時間屬性等保存日誌文件。
您可以使用不同的模式組合來創建所需的日誌文件名稱,例如:
- 年 –
!Y
- 月 –
!M
- 日 –
!D
- 時間 –
!T
- 主機名 –
!@
- 會話名稱 –
!S
- 進程ID –
!P
- 感嘆號 –
!!
通過啟用達到後輪替日誌文件 复选框來限制日志大小。 在此下拉菜单中,您可以使用K
、M
和G
表示字節。 如果日誌文件增長過大,WinSCP將創建帶有擴展名.1
、.2
等的副本。
如果您已經處於會話中並啟用了日誌記錄,則在啟用日誌記錄時將開始記錄。 WinSCP將不會將所有先前的會話歷史記錄在日誌文件中。
XML日誌
您可以在會話日誌部分配置要記錄的內容以及如何記錄。 會話日誌將日誌記錄到非結構化文本文件中。 但是,如果您需要將來進行解析的更結構化的方法,則應該勾選啟用將XML記錄到文件中。
通過啟用XML日誌記錄,WinSCP將生成結構化的XML文件。 此格式包含的信息比會話日誌少,但可用於腳本目的。
管理工作區
也许,您通常会在一整天都打开一组网站。您通常需要以某种方式访问这些主机。与其每天打开每个网站,您可以将它们全部保存在一个工作区中,以便一次保存所有连接的网站。
保存工作区
也许您打开了几十个网站,并希望立即一次性返回它们。您需要创建/保存一个工作区。要执行此操作,请单击会话菜单,然后选择保存工作区。然后,WinSCP将提示您选择保存工作区文件的位置。

在另存工作区为对话框中,提供一个名称并选择是否保存任何密码。
您还将看到一个创建桌面快捷方式选项。如果选择此选项,WinSCP将创建一个名为我的工作区的桌面快捷方式。此桌面快捷方式非常方便,因为如果没有它,您将不得不使用会话管理器打开工作区,如下一节所述。
您还将看到一个启用自动保存此工作区选项。此选项非常方便,因为您无需手动保存工作区,如上面所示。

打开/还原工作区
一旦您在计算机的某个位置保存了一个工作区,您需要以某种方式打开它。要打开/还原工作区:
打开站点管理器,在左窗格中找到工作区,右键单击工作区,然后选择登录。
上次關閉 WinSCP 時保存的工作區將在登錄對話框打開時自動選擇

在遠程主機上運行 SSH 命令
使用內置的命令行框、自定義命令,甚至 Putty 等功能,您可以快速運行連接主機上的各種短命令。
WinSCP 命令行
如果您需要運行一個簡單的 SSH 命令而不必打開單獨的 SSH 客戶端,您可以使用 WinSCP 命令行功能。要訪問此功能,請單擊 選項 菜單,然後選擇 命令行,如下所示。您將看到底部出現一個 命令 框。

一旦您打開了 命令 框,請輸入您希望的任何終端命令,WinSCP 將在遠程主機上執行它。例如,輸入 ifconfig
,如下所示,以查看遠程主機的 IP 地址信息。
不要運行需要用戶輸入的命令。WinSCP 命令行不支持交互式命令。

自定義命令
假設您發現自己在遠程主機上一次又一次地運行特定命令,或者您希望對遠程文件窗格中的所有文件運行特定命令。如果是這樣,那麼 WinSCP 的 自定義命令功能 就是為您設計的。
自定義命令是預配置的命令,可以包含代表環境屬性的變數,例如您所連接的主機、您所連接的用戶等等。自定義命令模板化了常見操作。
例如,運行自定義命令如 cat "!"
,將在遠程面板上的每個選定文件上運行 cat
命令。或者,您可以只是有一個複雜的 SSH 命令以後保存和運行。
要設置和運行自定義命令,請單擊 命令 菜單,然後單擊 靜態自定義命令。在這個菜單中,您將看到如何輸入臨時自定義命令,甚至保存一些您自己的命令。
為了演示,請單擊 輸入。將顯示 自定義命令 窗口。

在 自定義命令 窗口中,輸入 echo !S
以查看 WinSCP 如何將 !S
占位符轉換為會話 URL,然後單擊 確定。
您可以在 WinSCP 自定義命令文檔頁面 上找到所有占位符。

請注意,由於選中了 在終端中顯示結果 選項,因此 WinSCP 打開了與命令行功能一起使用的相同 控制台 窗口。下面您可以看到 !S
被轉換為 sftp://automate:automate
,這是會話 URL。

使用 Putty
一旦您在WinSCP中创建了一个会话,您就不必再使用WinSCP来执行其他任务。实际上,您可以将该会话传递给流行的Putty SSH客户端。
如果您当前正在WinSCP会话中,可以通过单击“命令”菜单,然后单击“在Putty中打开”来在Putty中打开WinSCP会话。您会看到Putty打开并连接到您在WinSCP中连接的远程主机。
默认情况下,Putty会提示输入密码,除非您为特定机器添加了访问密钥ID和密钥。

清理工作
WinSCP在您的系统上的文件系统和注册表中存储了几种类型的数据。例如,如果您在共享计算机上,您可能希望清理所有这些数据。请按照以下步骤操作:
1. 打开站点管理器。
2. 单击“工具”按钮。
3. 单击“清理”。然后,您将看到一个“清理应用程序数据”的框,如下所示。

4. 选择每个项目(通常是“常规配置”,其中包含存储在注册表中的工作区和站点相关信息)和“随机种子文件”(包含在WinSCP启动时生成的随机数据以用于加密随机数生成器)。
保持更新和获取帮助
最後,對於最新的錯誤修復和功能,保持 WinSCP 最新是很重要的。如果您認為您的版本已經過時,請點擊 幫助 選單,然後點擊 檢查更新。WinSCP 將檢查新版本,如果存在新版本,它將提示您安裝新版本。
在 幫助 選單中,您還可以找到 WinSCP 文件、捐贈給開源項目(如果您願意的話)等等。

結論
WinSCP 是一個方便、免費的工具,可以幫助您傳輸文件,並在計算機上運行遠程命令。通過其內置站點、各種選擇和傳輸文件的方式,您無法在價格方面擊敗它。
現在您已經是 WinSCP 專家了,您打算如何使用它?
Source:
https://adamtheautomator.com/the-winscp-gui-the-ultimate-guide/