You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows 10 OpenSSH服务器密钥交换算法不兼容,TFS构建连接异常如何处理?

解决Win10 1709更新后OpenSSH仅支持ED25519导致SSH客户端连接失败的问题

我来帮你梳理下解决这个问题的具体步骤,毕竟Win10 1709功能更新后,内置OpenSSH服务器的默认密钥交换算法确实会出现这类兼容性调整:

一、优先更新SSH客户端以支持ED25519

既然远程服务器已经只支持ED25519算法,更新客户端是最直接且安全的方案:

1. 更新Putty客户端

  • 下载Putty的最新稳定版本,新版已经原生支持ED25519密钥交换算法。
  • 安装完成后打开Putty,进入Connection > SSH > Kex选项卡,确认ED25519已被列入密钥交换算法列表(默认新版会自动包含)。
  • 保存你的连接配置后,重新尝试连接远程Win10机器即可。

2. 适配TFS构建任务的SSH客户端

  • 检查TFS构建代理所在机器上的SSH客户端版本:如果使用的是OpenSSH客户端,打开命令提示符执行ssh -V查看版本,确保是OpenSSH 7.2及以上版本(这个版本开始支持ED25519)。
  • 若版本过低,直接更新到最新版OpenSSH客户端即可。
  • 在TFS的「Copy Files Over SSH」构建步骤中,无需额外修改算法配置——新版客户端会自动与服务器协商支持的密钥交换算法,正常完成文件传输任务。

二、(备选)调整OpenSSH服务器配置兼容旧算法(应急方案)

如果暂时无法批量更新所有客户端,也可以修改远程Win10的SSH服务器配置,兼顾兼容性:

  1. 打开远程Win10机器上的C:\ProgramData\ssh\sshd_config文件(若自定义过安装路径,需对应调整)。
  2. 找到KexAlgorithms配置项,若不存在则新增一行:
    KexAlgorithms curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1
    
    这行配置同时包含了ED25519和常用的旧密钥交换算法,既能兼容旧客户端,也保留了新版算法的安全性。
  3. 保存文件后,以管理员权限打开命令提示符,重启OpenSSH服务:
    net stop sshd
    net start sshd
    
  4. 此时旧版客户端就能正常连接,但还是建议后续逐步更新客户端,长期来看更安全。

内容的提问来源于stack exchange,提问作者Dumpster Fire

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 07:46:48