在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格式输入它。
-
对于公钥身份验证:
- 按 高级 按钮打开高级站点设置对话框,然后转到 SSH
>身份验证页面。 - 在 私钥文件 中,框将选择您的私钥文件。
- 使用 确定 按钮提交“高级站点设置”对话框。
- 按 高级 按钮打开高级站点设置对话框,然后转到 SSH
-
对于密码验证:
- 在 密码 框中输入您的Windows帐户密码。
- 如果您的Windows帐户没有密码,则无法使用密码身份验证(即使用空密码)进行身份验证;您需要使用公钥身份验证。
-
使用 保存 按钮保存网站设置。
-
使用 登录 按钮登录。
-
通过比较指纹与以前收集的指纹来验证主机密钥(请参阅上文)。