在Windows上使用OpenSSH安裝SFTP/SSH伺服器

瞭解如何在Adobe Campaign和Adobe Campaign Classic中使用OpenSSH在Windows上安裝SFTP/SSH伺服器。

說明 description

環境
Adobe Campaign (AC)
Adobe Campaign Classic (ACC)

問題
本文的目的是說明如何在本機電腦上安裝sftp/ssh伺服器。

解決方法 resolution

正在安裝SFTP/SSH伺服器:

在Windows 10上

  • 在​ 設定 ​應用程式中,移至​ 應用程式>應用程式與功能>管理選用功能
  • 找到​ 「OpenSSH伺服器」 ​功能,展開它並選取​ 安裝

已將二進位檔安裝至 %WINDIR%\System32\OpenSSH。 組態檔(sshd_config)和主機金鑰是 安裝到%ProgramData%\ssh (只有在第一次啟動伺服器之後)。

您仍可能想要使用下列手動安裝來安裝比Windows 10內建的更新版OpenSSH。

在舊版Windows上:

  • 下載適用於Windows二進位檔的最新OpenSSH (封裝OpenSSH-Win64.zip或OpenSSH-Win32.zip)
  • 以管理員身分,將套件解壓縮至C:\Program Files\OpenSSH
  • 以系統管理員身分,安裝​ sshd ​和​ ssh-agent ​服務:

powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1

正在設定SSH伺服器

表單頂端

表單底部

  • 允許連入Windows防火牆中的SSH伺服器:

    • 以管理員身分執行下列PowerShell命令(僅限Windows 8和2012或更新版本):

New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH SSH Server' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22

    • 或移至​ 控制檯>系統與安全性> Windows防火牆 1>進階設定>輸入規則,並為連線埠22新增規則。
  • 啟動服務並設定自動啟動:

    • 移至​ 控制檯>系統與安全性>系統管理工具 ​並開啟​ 服務。 找到​ OpenSSH SSH伺服器 ​服務。
    • 如果您希望伺服器在電腦啟動時自動啟動:移至​ 動作>屬性。 在[內容]對話方塊中,將​ 啟動型別 ​變更為​ 自動 ​並確認。
    • 按一下​ 啟動服務,以啟動​ OpenSSH SSH伺服器 ​服務。

注意:您可以參考此教學課程影片,瞭解如何啟用及執行OpenSSH伺服器: https://www.youtube.com/watch?v=0G1Qh-_jBTQ

設定SSH公開金鑰驗證

請遵循在*nix OpenSSH伺服器中設定SSH公開金鑰驗證🔗的通用指南,其差異如下:

  • 在您的Windows帳戶設定檔資料夾(通常在C:\Users\username\.ssh中)中建立.ssh資料夾(針對authorized_keys檔案)。
  • 對於.ssh資料夾和authorized_keys檔案的許可權,重要的是Windows ACL許可權,而不是簡單的*nix許可權。 設定ACL,讓只有個別的Windows帳戶才能寫入資料夾和檔案(如果您使用個別帳戶登入時建立資料夾和檔案,預設的存取層級為何)。

正在連線到伺服器

正在尋找主機索引鍵

在第一次連線之前,請使用每個檔案的ssh-keygen.exe來找出伺服器主機金鑰的指紋。

在Windows命令提示字元中,使用:

for %f in (%ProgramData%\ssh\ssh_host_*_key) do @%WINDIR%\System32\OpenSSH\ssh-keygen.exe -l -f "%f"

若適當,將​ 取代​%WINDIR%\System32為​%ProgramFiles%

在PowerShell中 ,使用:

Get-ChildItem $env:ProgramData\ssh\ssh_host_*_key | ForEach-Object { . $env:WINDIR\System32\OpenSSH\ssh-keygen.exe -l -f $_ }

若適當,將​ 取代​$env:WINDIR\System32為​$env:ProgramFiles

您會取得如下的輸出:

C:\Windows\System32\OpenSSH>for %f in (%ProgramData%\ssh\ssh_host_*_key) do @%WINDIR%\System32\OpenSSH\ssh-keygen.exe -l -f "%f"
1024 SHA256:K1kYcE7GHAqHLNPBaGVLOYBQif04VLOQN9kDbiLW/eE martin@example (DSA)
256 SHA256:7pFXY/Ad3itb6+fLlNwU3zc6X6o/ZmV3/mfyRnE46xg martin@example (ECDSA)
256 SHA256:KFi18tCRGsQmxMPioKvg0flaFI9aI/ebXfIDIOgIVGU martin@example (ED25519)
2048 SHA256:z6YYzqGiAb1FN55jOf/f4fqR1IJvpXlKxaZXRtP2mX8 martin@example (RSA)

正在連線

啟動WinSCP。 將會顯示登入對話方塊。 在對話方塊上:

  • 請確定已選取​ 新網站 ​節點。

  • 在​ 新網站節點 ​上,確定已選取​ SFTP ​通訊協定。

  • 在​ 主機名稱 ​方塊中輸入您的電腦/伺服器IP位址(或主機名稱)。

  • 在​ 使用者名稱 ​方塊中輸入您的Windows帳戶名稱。 如果在網域上執行,則可能必須以user@domain格式輸入。

  • 對於公開金鑰驗證:

    • 按下​ 進階 ​按鈕以開啟進階網站設定對話方塊,並移至​ SSH >驗證頁面
    • 在​ 私密金鑰檔案中, ​方塊會選取您的私密金鑰檔案。
    • 使用​ 確定 ​按鈕提交[進階網站設定]對話方塊。
  • 對於密碼驗證:

    • 在​ 密碼 ​方塊中輸入您的Windows帳戶密碼。
    • 如果您的Windows帳戶沒有密碼,您將無法使用密碼驗證(亦即使用空白密碼)進行驗證;您必須使用公開金鑰驗證。
  • 使用​ 儲存 ​按鈕儲存您的網站設定。

  • 使用​ 登入 ​按鈕登入。

  • 透過比較指紋與之前收集的指紋來驗證主機金鑰 (請參閱上文)。

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f