在Windows上使用OpenSSH安装SFTP/SSH服务器
了解如何在Adobe Campaign和Adobe Campaign Classic中使用OpenSSH在Windows上安装SFTP/SSH服务器。
描述 description
环境
Adobe Campaign (AC) Adobe Campaign Classic (ACC)
问题
本文的目的是使支持团队或顾问能够在其本地计算机上安装sftp/ssh服务器。
本文适用于使用Windows计算机的用户。
对于MAC,文章将很快发布。
解决方法 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公钥身份验证
遵循通用指南 设置SSH公钥身份验证 在*nix OpenSSH服务器中,具有以下区别:
- 创建
.ssh
文件夹(用于authorized_keys
文件)(通常位于C:\Users\username\.ssh
)。 - 要获得对的权限,
.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帐户没有密码,则无法使用密码身份验证(即使用空密码)进行身份验证;您需要使用公钥身份验证。
-
使用保存网站设置 保存 按钮。
-
使用登录 登录 按钮。
-
验证主机密钥 将指纹与之前收集的指纹进行比较(见上文)。