在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

    • 或转到​ 控制面板> System and Security > Windows防火墙​ 1>Advanced Settings > Inbound Rules,并为端口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格式输入它。

  • 对于公钥身份验证:

  • 对于密码验证:

    • 在​ 密码 ​框中输入您的Windows帐户密码。
    • 如果您的Windows帐户没有密码,则无法使用密码身份验证(即使用空密码)进行身份验证;您需要使用公钥身份验证。
  • 使用​ 保存 ​按钮保存网站设置。

  • 使用​ 登录 ​按钮登录。

  • 通过比较指纹与以前收集的指纹来验证主机密钥(请参阅上文)。

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