在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
  • 以管理员身份,安装 sshdssh-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格式输入它。

  • 对于公钥身份验证:

  • 对于密码验证:

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

  • 使用登录  登录 按钮。

  • 验证主机密钥 将指纹与之前收集的指纹进行比较(见上文)。

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