安全远程登录客户端-PuTTY


PuTTY是一个Telnet/SSH/rlogin/纯TCP以及串行连接软件。较早的版本仅支持Windows平台,在最近的版本中开始支援各类Unix平台,并打算移植至Mac OS X上。除了官方版本外,有许多非官方的团体或个人将PuTTY移植到其他平台上。PuTTY 是一款集成虚拟终端、系统控制台和网络文件传输为一体的自由开源程序,支持多种网络协议,包括SCP,SSH,Telnet,rlogin和原始的套接字连接,它也可以连接到串行端口。其软件名字“PuTTY”并没有特殊含义。
PuTTY为一开放源代码软件,主要由Simon Tatham维护,使用MIT授权协议。
PuTTY is a free implementation of Telnet and SSH for Windows and Unix platforms, along with an xterm terminal emulator. It is written and maintained primarily by Simon Tatham.
最新版本:0.7
0.72 版本是一个安全更新版本,修复了过时的 SSH-1 中漏洞协议,也包括 0.71 以来的各种 bug 修复。其中许多安全问题是在最近欧盟资助的HackerOne(全球知名漏洞悬赏平台)上发现的,根据发布公告,该赏金计划已于 7 月结束,共持续了约半年时间。之后想反馈 bug 的话可通过电子邮件与 PuTTY 团队联系,具体可查看反馈页面。主要漏洞修复如下:
恶意 SSH-1 服务器可能通过发送极短的 RSA 密钥或某些错误的数据包长度字段来触发缓冲区溢出。 这些都可能在主机密钥验证之前发生,因此即使你信任某个打算连接的服务器,仍然会面临风险。(但是,SSH-1 协议已经过时,并且最新版本的 PuTTY 在默认情况下不会尝试它,所以如果你使用旧服务器并且已经明确配置了 SSH-1,那么你将面临风险。)
如果恶意进程发现了一种模仿 Pageant 的方法,那么它可能会导致访问恶意 Pageant 的任何 SSH 客户端工具(PuTTY,Plink,PSCP,PSFTP)中出现整数溢出。
0.75 已于2021年5月上旬发布。其中包含的一些主要新功能有:Pageant 中的延迟密钥解密、更安全的 SSH 密钥指纹和 SSH 私钥文件,以及一些用于特殊目的的新网络协议。此外,该版本还包括了对 Windows 终端模拟器中的 DoS 漏洞的修复,该漏洞允许恶意的服务器锁定所有在客户端运行的 GUI Windows 应用程序。具体更新内容如下:
安全修复:在 Windows上,服务器可以通过告诉 PuTTY 窗口反复高速更改其标题来对整个 Windows GUI 进行 DoS。
Pageant 现在支持加载仍加密的密钥,并在第一次使用时通过提示口令来解密它。
将默认的 SSH 密钥指纹格式升级为 OpenSSH-style SHA-256。
将私钥文件格式升级为 PPK3,改进了 passphrase hashing,不再使用 SHA-1。
终端现在支持 ESC [ 9 m 用于删除线文本。
新协议:用于已经安全的 IPC 通道的裸露 ssh 连接层,以及用于与非常老的系统(例如 PDP-10)进行通信的 SUPDUP。
PuTTYgen 现在支持用于 RSA 和 DSA 的 alternative provable-prime generation algorithm。
Unix 工具现在可以直接连接到 Unix-domain socket。
更多详情请参考更新日志。
2022年5月下旬发布的v0.77是一个 Feature Release 版本。最重要的功能是改进了对代理的支持:原生支持通过另一个 SSH 服务器转发连接,以及在代理设置过程中,如果代理需要密码或其他登录信息,能够以交互方式提示。此外还有许多错误的修复,一些加密技术的改进,以及一个新的应用程序 pterm.exe,包含一个 Windows command prompt。具体更新内容如下:
网络代理支持的重大改进:
如果代理服务器需要身份验证,支持以交互方式提示用户。
内置支持通过另一个 SSH 服务器进行代理,因此 PuTTY 将通过 SSH 连接到代理,然后通过它自动将端口转发到目标主机。(类似于运行 plink -nc 作为一个子进程,但设置起来更方便,并允许你回答代理呈现的交互式提示。)
与 HTTP 代理通信时支持 HTTP Digest 身份验证。
引入了 pterm.exe,一个类似 PuTTY 的包装程序,用于 Windows command prompts(或在 Windows 控制台中运行的任何其他内容)。该程序尚未包含在安装程序中,但可作为下载页面中的.exe 文件提供。
将 Unicode 和 bidi 支持更新到 Unicode 14.0.0。
新的命令行选项 -pwfile, 与 -pw 类似,,只是它从文件中读取密码,这样就不会在命令行中显示出来。
Windows Pageant:选项 --openssh-config 允许与 Windows 的 ssh.exe 轻松地交互。
-pw(和 -pwfile) 现在不会在提供的密码失败时退回到交互式提示密码(这是初衷)。
键盘处理的新配置选项:
控制 Shift + 箭头键处理的选项
功能键选项中的额外模式,适用于现代 xterm(v216 及更高版本)。
在发送我们自己的 SSH 问候之前等待服务器的问候语的 Bug workaround flag,用于在看到任何传入数据之前丢失传出数据的服务器(或代理)。
Crypto update:在 probabilistic RSA key generation 中增加了 side-channel resistance。
Crypto update:不再使用短 Diffie-Hellman 指数(以防万一)。
错误修复:多次重新配置远程端口转发不再崩溃。
错误修复:Windows Pageant 现在可以处理大量并发连接而不会挂起或崩溃。
错误修复:如果同时启动 Windows Pageant 多次,实例应该可靠地同意其中一个作为持久服务器。
错误修复:window title 的远程控制更改现在根据配置的字符集进行解释。
错误修复:window title 的远程控制更改不再被编码包括字节 0x9C 的 UTF-8 字符混淆(在非 UTF-8 上下文中终止控制序列)。
错误修复:在拖动选择的过程中弹出窗口上下文菜单,现在不再使拖动处于卡住的状态。
错误修复:当 PSCP 报告服务器发送不允许的复合路径名时,它会正确报告它用于下载文件的替换名称。
对于开发人员:将构建系统迁移到 CMake,删除旧的 idiosyncraticmkfiles.pl 和自动工具系统。
更多详情可查看此处。
0.78 已于2022年11月上旬发布。v0.78 是一个 feature release 版本。它的主要新特性是支持 OpenSSH 的证书系统。PuTTY 现在可以向 SSH 服务器提供经过认证的用户密钥,并且你可以配置一个或多个受信任的 CA,以便它自动接受由它们签名的主机密钥。其他新功能包括:
新形式的 SSH jump host 支持(可以告诉代理 SSH 服务器运行命令来建立连接);
额外的加密技术(希望 quantum-proof NTRU Prime 密钥交换、更新的 GSSAPI 密钥交换方法列表、新的整数 Diffie-Hellman 组和 AES-GCM);
以及一个允许第三方帮助程序为键盘交互式身份验证问题提供答案的系统(例如,用于自动化一次性密码方案)。
还修复了在某些字符集中设置窗口标题时的错误,并恢复了在 0.77 中中断的 Windows XP 支持。Windows 用户升级注意事项:0.78 Windows 安装程序不会卸载 0.77 或更早版本。官方建议先卸载旧版本。如果你最终都拥有这两个版本,将其都卸载然后运行新的安装程序将使一切正常。更多详情可查看官方公告。
最新版本:0.8
v0.80 现已于2023年12月下旬发布。包含了对某些 SSH 协议扩展中 Terrapin 漏洞(又名 CVE-2023-48795)的修复。该问题还需要在服务器中打补丁。2024年4月中旬发布的 v0.81 修复了使用 521 位 ECDSA 密钥 (ecdsa-sha2-nistp521) 时的严重漏洞 CVE-2024-31497。官方提醒在任何以前版本的 PuTTY 中使用了 521 位 ECDSA 私钥的用户注意泄露风险:建议从文件中删除公钥 authorized_keys,并生成新的密钥对。不过,该漏洞只影响一种算法和 key size。其他 size 的 ECDSA 密钥都不受影响,其他类型的密钥也不受影响。更多详情可查看官方公告。
项目主页:http://www.chiark.greenend.org.uk/~sgtatham/putty/
PuTTY为一开放源代码软件,主要由Simon Tatham维护,使用MIT授权协议。
PuTTY is a free implementation of Telnet and SSH for Windows and Unix platforms, along with an xterm terminal emulator. It is written and maintained primarily by Simon Tatham.
最新版本:0.7
0.72 版本是一个安全更新版本,修复了过时的 SSH-1 中漏洞协议,也包括 0.71 以来的各种 bug 修复。其中许多安全问题是在最近欧盟资助的HackerOne(全球知名漏洞悬赏平台)上发现的,根据发布公告,该赏金计划已于 7 月结束,共持续了约半年时间。之后想反馈 bug 的话可通过电子邮件与 PuTTY 团队联系,具体可查看反馈页面。主要漏洞修复如下:
恶意 SSH-1 服务器可能通过发送极短的 RSA 密钥或某些错误的数据包长度字段来触发缓冲区溢出。 这些都可能在主机密钥验证之前发生,因此即使你信任某个打算连接的服务器,仍然会面临风险。(但是,SSH-1 协议已经过时,并且最新版本的 PuTTY 在默认情况下不会尝试它,所以如果你使用旧服务器并且已经明确配置了 SSH-1,那么你将面临风险。)
如果恶意进程发现了一种模仿 Pageant 的方法,那么它可能会导致访问恶意 Pageant 的任何 SSH 客户端工具(PuTTY,Plink,PSCP,PSFTP)中出现整数溢出。
0.75 已于2021年5月上旬发布。其中包含的一些主要新功能有:Pageant 中的延迟密钥解密、更安全的 SSH 密钥指纹和 SSH 私钥文件,以及一些用于特殊目的的新网络协议。此外,该版本还包括了对 Windows 终端模拟器中的 DoS 漏洞的修复,该漏洞允许恶意的服务器锁定所有在客户端运行的 GUI Windows 应用程序。具体更新内容如下:
安全修复:在 Windows上,服务器可以通过告诉 PuTTY 窗口反复高速更改其标题来对整个 Windows GUI 进行 DoS。
Pageant 现在支持加载仍加密的密钥,并在第一次使用时通过提示口令来解密它。
将默认的 SSH 密钥指纹格式升级为 OpenSSH-style SHA-256。
将私钥文件格式升级为 PPK3,改进了 passphrase hashing,不再使用 SHA-1。
终端现在支持 ESC [ 9 m 用于删除线文本。
新协议:用于已经安全的 IPC 通道的裸露 ssh 连接层,以及用于与非常老的系统(例如 PDP-10)进行通信的 SUPDUP。
PuTTYgen 现在支持用于 RSA 和 DSA 的 alternative provable-prime generation algorithm。
Unix 工具现在可以直接连接到 Unix-domain socket。
更多详情请参考更新日志。
2022年5月下旬发布的v0.77是一个 Feature Release 版本。最重要的功能是改进了对代理的支持:原生支持通过另一个 SSH 服务器转发连接,以及在代理设置过程中,如果代理需要密码或其他登录信息,能够以交互方式提示。此外还有许多错误的修复,一些加密技术的改进,以及一个新的应用程序 pterm.exe,包含一个 Windows command prompt。具体更新内容如下:
网络代理支持的重大改进:
如果代理服务器需要身份验证,支持以交互方式提示用户。
内置支持通过另一个 SSH 服务器进行代理,因此 PuTTY 将通过 SSH 连接到代理,然后通过它自动将端口转发到目标主机。(类似于运行 plink -nc 作为一个子进程,但设置起来更方便,并允许你回答代理呈现的交互式提示。)
与 HTTP 代理通信时支持 HTTP Digest 身份验证。
引入了 pterm.exe,一个类似 PuTTY 的包装程序,用于 Windows command prompts(或在 Windows 控制台中运行的任何其他内容)。该程序尚未包含在安装程序中,但可作为下载页面中的.exe 文件提供。
将 Unicode 和 bidi 支持更新到 Unicode 14.0.0。
新的命令行选项 -pwfile, 与 -pw 类似,,只是它从文件中读取密码,这样就不会在命令行中显示出来。
Windows Pageant:选项 --openssh-config 允许与 Windows 的 ssh.exe 轻松地交互。
-pw(和 -pwfile) 现在不会在提供的密码失败时退回到交互式提示密码(这是初衷)。
键盘处理的新配置选项:
控制 Shift + 箭头键处理的选项
功能键选项中的额外模式,适用于现代 xterm(v216 及更高版本)。
在发送我们自己的 SSH 问候之前等待服务器的问候语的 Bug workaround flag,用于在看到任何传入数据之前丢失传出数据的服务器(或代理)。
Crypto update:在 probabilistic RSA key generation 中增加了 side-channel resistance。
Crypto update:不再使用短 Diffie-Hellman 指数(以防万一)。
错误修复:多次重新配置远程端口转发不再崩溃。
错误修复:Windows Pageant 现在可以处理大量并发连接而不会挂起或崩溃。
错误修复:如果同时启动 Windows Pageant 多次,实例应该可靠地同意其中一个作为持久服务器。
错误修复:window title 的远程控制更改现在根据配置的字符集进行解释。
错误修复:window title 的远程控制更改不再被编码包括字节 0x9C 的 UTF-8 字符混淆(在非 UTF-8 上下文中终止控制序列)。
错误修复:在拖动选择的过程中弹出窗口上下文菜单,现在不再使拖动处于卡住的状态。
错误修复:当 PSCP 报告服务器发送不允许的复合路径名时,它会正确报告它用于下载文件的替换名称。
对于开发人员:将构建系统迁移到 CMake,删除旧的 idiosyncraticmkfiles.pl 和自动工具系统。
更多详情可查看此处。
0.78 已于2022年11月上旬发布。v0.78 是一个 feature release 版本。它的主要新特性是支持 OpenSSH 的证书系统。PuTTY 现在可以向 SSH 服务器提供经过认证的用户密钥,并且你可以配置一个或多个受信任的 CA,以便它自动接受由它们签名的主机密钥。其他新功能包括:
新形式的 SSH jump host 支持(可以告诉代理 SSH 服务器运行命令来建立连接);
额外的加密技术(希望 quantum-proof NTRU Prime 密钥交换、更新的 GSSAPI 密钥交换方法列表、新的整数 Diffie-Hellman 组和 AES-GCM);
以及一个允许第三方帮助程序为键盘交互式身份验证问题提供答案的系统(例如,用于自动化一次性密码方案)。
还修复了在某些字符集中设置窗口标题时的错误,并恢复了在 0.77 中中断的 Windows XP 支持。Windows 用户升级注意事项:0.78 Windows 安装程序不会卸载 0.77 或更早版本。官方建议先卸载旧版本。如果你最终都拥有这两个版本,将其都卸载然后运行新的安装程序将使一切正常。更多详情可查看官方公告。
最新版本:0.8
v0.80 现已于2023年12月下旬发布。包含了对某些 SSH 协议扩展中 Terrapin 漏洞(又名 CVE-2023-48795)的修复。该问题还需要在服务器中打补丁。2024年4月中旬发布的 v0.81 修复了使用 521 位 ECDSA 密钥 (ecdsa-sha2-nistp521) 时的严重漏洞 CVE-2024-31497。官方提醒在任何以前版本的 PuTTY 中使用了 521 位 ECDSA 私钥的用户注意泄露风险:建议从文件中删除公钥 authorized_keys,并生成新的密钥对。不过,该漏洞只影响一种算法和 key size。其他 size 的 ECDSA 密钥都不受影响,其他类型的密钥也不受影响。更多详情可查看官方公告。
项目主页:http://www.chiark.greenend.org.uk/~sgtatham/putty/