在客戶端和伺服器上使用密碼身份驗證設置和驗證 SFTP 的行為

頁面創建日期 :

環境

Windows
  • Windows 10 Pro
  • Windows Server 2019
  • Windows 7
  • Windows Server 2012 R2
OpenSSH
  • 7.7p1
  • 8.1p1 - Beta

* 它適用於其他版本,但尚未確認

入門

本節介紹客戶端和伺服器之間使用 SFTP 進行通信的步驟。 身份驗證方法包括最簡單的密碼身份驗證。

提前準備

  • 用戶端上安裝了OpenSSH用戶端
  • 伺服器上安裝了 OpenSSH 伺服器

在伺服器端準備 SFTP 伺服器

使用具有管理員許可權的帳戶登錄到伺服器。

啟動電源外殼。

image

輸入以下命令: (可以是 ssh 命令。

sftp localhost

您尚未設置任何內容,因此您可以看到無法連接。

image

創建SFTP帳戶

創建要在 SFTP 中登錄的帳戶。 Windows 帳戶被視為 SFTP 登錄帳戶。

右鍵按鍵按「開始」功能表,然後選擇「管理計算機」。

image

展開本地使用者和組,右鍵按兩下用戶,然後選擇「新使用者」。

image

輸入使用者名和密碼。 使用者名是使用 SFTP 登錄的使用者名。 不區分大小寫。

image

您將使用公鑰身份驗證設置登錄,但不需要管理員許可權。 對於遠端環境,請為遠端桌面使用者添加許可權。

SSH 埠打開

打開埠 22。 您可以使用命令執行此操作,但在此處使用 GUI 進行配置。 從「開始」功能表中選擇「Windows 管理工具」 資料夾⇒「具有增強安全性的 Windows 防禦者防火牆」。

image

右鍵按下「入站規則」 然後選擇「新建規則」。

image

選擇「埠」,然後選擇「下一步」。

image

選擇 TCP 並輸入 22。

image

選擇「允許連接」。

image

選中"域"和"私有"。 對於互聯網上的伺服器,請選中"公共" 根據您的環境進行設置。

image

名稱並不重要,但請確保為 SSH (SFTP) 打開埠是一個易於理解的名稱。

image

已添加到清單中。

image

SSH 服務啟動設置

命令也可以設置它,但在這裡,我們使用 GUI 進行配置。 右鍵按鍵按「開始」功能表,然後選擇「管理計算機」。

image

在「服務和應用程式」⇒,選擇"服務",然後從中心清單中選擇"OpenSSH SSH 伺服器"。 左側將顯示「啟動服務」連結,按下該連結將啟動 SSH 伺服器。

image

現在,SSH 可用,但在重新啟動 Windows 時必須再次手動啟動。 使 SSH 伺服器自動啟動。 按兩下開啟 SSH 伺服器。

image

將啟動類型設置為「自動」 然後按下確定按鈕。

image

SSH 登錄驗證

服務已啟動,請嘗試登錄。 在命令提示符處,或啟動 PowerShell 並鍵入以下命令: (請替換<>部分) (ssh 命令可以是連接檢查。

sftp <ユーザー名>@localhost

image

輸入"是"。

image

輸入密碼。

image

顯示幕更改,您已登錄。

image

嘗試鍵入「dir」 命令以查看資料夾清單。 (亂碼是規範)

image

從用戶端使用SFTP向伺服器發送或接收檔

登錄到用戶端PC端。 創建 C:\Temp 資料夾並放置輸入文字的"測試.txt"檔,以查看發送和接收檔。 (如果日語檔名是發送和接收錯誤,請保留字母數位字元。

image

啟動命令提示符或電源外殼。

image

使用以下命令使用 SFTP 登入: (請替換<>部分)

sftp <ユーザー名>@<サーバー名>

鍵入"是"。

image

輸入密碼並登錄。

image

您可以看到可以使用 pwd 或 dir 命令登入。

image

使用 put 命令發送檔。

put c:\temp\test.txt

image

通過查看伺服器端的"C:\使用者\最"資料夾,可以驗證.txt檔是否已發送。

image

嘗試從客戶端獲取。

get test.txt c:\temp\test2.txt

image

我能夠確認我已獲取該檔。

image

總結

我們能夠驗證是否可以使用SFTP在用戶端和伺服器上發送和接收檔。 通信內容也經過加密,因此不太可能被第三方截獲。

但是,這一次,我們執行密碼身份驗證作為身份驗證方法, 因為在安全性方面,它變得有點弱。 下次我想討論公鑰身份驗證。