在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
>
驗證頁面。 - 在 私密金鑰檔案中, 方塊會選取您的私密金鑰檔案。
- 使用 確定 按鈕提交[進階網站設定]對話方塊。
- 按下 進階 按鈕以開啟進階網站設定對話方塊,並移至 SSH
-
對於密碼驗證:
- 在 密碼 方塊中輸入您的Windows帳戶密碼。
- 如果您的Windows帳戶沒有密碼,您將無法使用密碼驗證(亦即使用空白密碼)進行驗證;您必須使用公開金鑰驗證。
-
使用 儲存 按鈕儲存您的網站設定。
-
使用 登入 按鈕登入。
-
透過比較指紋與之前收集的指紋來驗證主機金鑰 (請參閱上文)。