PuTTY 是 Windows 上最经典、使用最广泛的免费 SSH 客户端,同时也是一款 xterm 风格的终端模拟器。它由 Simon Tatham 主导开发,从 1996 年维护至今,几乎是运维、建站、开发圈子里「远程连 Linux 服务器」的代名词:只有几 MB 大小、绿色免安装、完全免费开源,却把 SSH 登录、密钥认证、端口转发、串口调试这些该有的能力都做齐了。
除了 Windows 版,PuTTY 也提供 Unix 源码;官方最新版本为 PuTTY 0.85(2026 年 8 月 16 日发布)。
一、主要功能特性
| 功能 | 说明 |
|---|---|
| 多协议连接 | SSH(SSH-1 / SSH-2)、Telnet、Rlogin、SUPDUP、Serial(串口)、Raw(原始 TCP) |
| 终端仿真 | xterm 风格终端,可自定义字体、配色、窗口大小、回滚行数、键盘映射,支持 UTF-8 与多种字符集 |
| SSH 密钥认证 | 配套 PuTTYgen 生成 / 转换密钥(.ppk),支持 RSA、DSA、ECDSA、Ed25519;配套 Pageant 做密钥代理 |
| 端口转发 | 本地(Local)、远程(Remote)、动态(Dynamic,可作 SOCKS 代理)三种 SSH 隧道 |
| 已保存会话 | 把主机、端口、用户名、字体、密钥等设置存成命名会话,双击或命令行一键连接 |
| 文件传输 | 配套 PSCP(命令行 SCP)、PSFTP(交互式 SFTP);也可与 WinSCP 共用会话与 .ppk 密钥 |
| 自动化 | Plink 命令行连接工具,可在脚本、计划任务、其他程序中调用 |
| 安全设计 | 主机密钥校验强制开启、不保存密码、可信提示标记(trust sigils)防止伪造密码提示 |
| 轻量免安装 | 官方提供单个 putty.exe 与打包 zip,放进 U 盘就能用,不写系统目录(会话存注册表) |
| 免费开源 | MIT 类 PuTTY Licence,个人与商业使用均免费,无广告、无捆绑 |
Telnet、Rlogin、SUPDUP 都是明文协议,官方明确不建议在公网上使用。日常连服务器请一律选 SSH(端口 22)。
二、版本、平台与配套组件
最近几个版本(0.85 与 0.84 都以安全修复为主,建议尽快升级):
| 版本 | 发布日期 | 主要变化 |
|---|---|---|
| 0.85 | 2026-08-16 | 修复 Pageant 可被远程触发的 use-after-free、encrypt-then-MAC 加密模式与恶意私钥解密的缓冲区溢出,以及服务器可触发的死循环、中间人导致启动时内存耗尽等拒绝服务问题 |
| 0.84 | 2026-05-22 | 新增「连接前执行命令」(可用于 Wake-on-LAN、端口敲门);修复 RSA 密钥交换 double-free、ECDSA 验签崩溃等;改进 Unix / Wayland 支持 |
| 0.83 | 2025-02-08 | 新增 ML-KEM 后量子密钥交换、Windows 文件选择器完整 Unicode 文件名支持,并修复大量稳定性问题 |
| 0.81 | 2024-04-15 | 修复 CVE-2024-31497(NIST P521 ECDSA 签名偏差可导致私钥泄露),旧版用户务必升级 |
支持的平台:Windows 提供 64 位 x86、64 位 Arm、32 位 x86 的 MSI 安装包与独立 exe;Unix / Linux 以源码形式提供(部分发行版自带预编译包)。官方没有 macOS 版,也没有 Android / iOS 版,Mac 用户一般用系统自带终端或 iTerm2。
安装包里都带些什么(也可单独下载某个 exe):
| 组件 | 用途 |
|---|---|
putty.exe |
主程序,SSH / Telnet 客户端与终端窗口 |
puttygen.exe |
生成、转换、导入 SSH 密钥(.ppk ↔ OpenSSH 格式) |
pageant.exe |
SSH 密钥代理,一次加载私钥,多个会话免重复输入口令 |
pscp.exe |
命令行 SCP 安全复制 |
psftp.exe |
交互式 SFTP 文件传输会话 |
plink.exe |
命令行连接工具,供脚本 / 程序调用 |
puttytel.exe / pterm.exe |
仅 Telnet 的精简版 / Windows 本地命令行的 PuTTY 风格外框 |
三、下载与安装
- 普通用户直接下载 64 位 x86 MSI 安装包即可,安装后开始菜单会出现 PuTTY、PuTTYgen、Pageant 等一整套工具;32 位包仅用于很老的电脑。
- 不想安装、想放 U 盘随身带:下载
putty.zip(含常用组件)解压即用;或只单独下载putty.exe。 - 官方还提供 Microsoft Store 版本、Unix 源码包、开发快照(snapshot)以及 HTML / CHM 帮助文档。
- 每个官方文件都附有 GPG 签名,下载页另提供 MD5 / SHA-1 / SHA-256 / SHA-512 校验清单。对安全性要求高的场景,建议校验后再运行。
- 会话与设置保存在注册表
HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\Sessions(Unix 在~/.putty),所以绿色版也不会「丢配置」;在公用电脑用完可执行putty -cleanup清理痕迹。
下载渠道要认准官方域名:PuTTY 项目官网一直是
chiark.greenend.org.uk/~sgtatham/putty/;2025 年 8 月 PuTTY 团队又注册了短域名putty.software作为官方入口。网上不少putty.*域名并不是 PuTTY 项目所有,第三方下载站的版本可能被重新打包、捆绑广告甚至植入后门,涉及服务器登录凭据,务必从官网或可信镜像获取。
四、使用方法
1. 第一次连接服务器
启动 PuTTY,在默认的 Session(会话) 面板按下面填:
- Host Name(or IP address):服务器 IP 或域名,例如
192.168.1.10或example.com;也可直接写root@example.com带上用户名。 - Port:SSH 默认
22,一般不用改;服务器改了非标准端口才需要手填。 - Connection type:选
SSH。选Serial时上面两项会变成串口号与波特率,适合调试交换机、路由器、开发板。 - 在 Saved Sessions 输入一个好记的名字(如「生产服务器-Web01」),点 Save 保存,以后双击即可连接。
- 点 Open 打开终端窗口。
如果只是临时连一次,不保存也行。保存会话的价值在于把字体、字符集、密钥、心跳包、端口转发等一堆设置一起固化下来,不用每次重配。
2. 首次连接的主机密钥确认
第一次连某台服务器会弹出 PuTTY Security Alert,显示服务器主机密钥指纹,问是否信任。核对指纹无误后点 Accept(接受并缓存)。这一步不能关闭,官方 FAQ 明确表示不会提供跳过主机密钥检查的选项——它正是 SSH 防中间人攻击的核心。
如果重装系统、换了服务器密钥后再连,会收到 WARNING - POTENTIAL SECURITY BREACH! 警告。先确认确实是运维做了变更,再更新缓存;来历不明的指纹变化要当作安全事件处理。
3. 登录与几个容易懵的点
- 终端出现
login as:输入用户名回车,再输入密码回车即可。 - 输入密码时屏幕没有任何反应,连星号都不显示,这是 PuTTY 故意设计的安全行为,不是键盘坏了,照常输完回车。
- PuTTY 不会记住密码。想免密登录请用 SSH 公钥认证(见第 6 步),既方便又更安全。
- 需要指定用户名又没在主机名里写,可预先在
Connection → Data → Auto-login username里填好。
4. 复制、粘贴与窗口操作
| 操作 | 做法 |
|---|---|
| 复制 | 在终端里按住鼠标左键拖选文字,松开即自动复制到剪贴板,不用按 Ctrl+C |
| 粘贴 | 单击鼠标右键,或按 Shift + Insert |
| 选词 / 选行 | 双击选一个词,三击选整行;Alt + 拖拽可选矩形块 |
| 复制全部 | 窗口左上角图标 → Copy All to Clipboard |
| 改设置 | 窗口左上角图标 → Change Settings,可改字体、颜色、窗口大小等 |
最常见的坑:在 PuTTY 里按
Ctrl + C不是复制,而是把中断信号发给服务器,会直接终止正在跑的命令(比如tail -f、编译任务)。复制请用鼠标左键拖选,粘贴用右键。
5. 调整字体、颜色与中文显示
- 字体:
Window → Appearance → Font settings换成等宽中文字体(如 Consolas、微软雅黑、更纱黑体),并设置合适字号。 - 中文乱码:
Window → Translation → Remote character set选UTF-8。绝大多数现代 Linux 都是 UTF-8;若服务器用 GBK 等老编码,改成对应字符集即可。顺便确认服务器的LANG环境变量。 - 窗口与回滚:
Window面板设置行列数,Window → Lines of scrollback把回滚行数调大(默认 2000 行,看日志建议调到 10000+)。 - 改完后回到
Session面板,选中会话名再点 Save,下次连接才继续生效。
6. 用 SSH 密钥登录(推荐)
- 打开 PuTTYgen,底部选
Ed25519(或 RSA 4096),点 Generate,按提示在空白处晃动鼠标生成随机性。 - 可设置一个 Key passphrase(私钥口令);点 Save private key 存成
.ppk文件,妥善保管、不要外传。 - 把窗口上方
Public key for pasting into OpenSSH authorized_keys file文本框里的整段公钥复制下来,追加到服务器~/.ssh/authorized_keys中(注意目录权限 700、文件 600)。 - 回到 PuTTY,加载会话 →
Connection → SSH → Auth → Credentials→ Private key file for authentication 选刚才的 .ppk(0.78 版起这个选项移到了 Credentials 子面板,很多老教程写的是旧位置)。 - 回到
Session面板 Save 保存,再 Open 连接,输入私钥口令即可登录。 - 不想每次输口令:运行 Pageant,把 .ppk 加载进去,PuTTY / PSCP / PSFTP / WinSCP 都会自动向它取密钥。
如果手里是 OpenSSH 格式的
id_rsa/id_ed25519私钥,可在 PuTTYgen 里用Conversions → Import key导入后另存为 .ppk;反过来也能导出 OpenSSH 格式。
7. 端口转发与防掉线
- 本地转发:
Connection → SSH → Tunnels,Source port 填本地端口(如 3307),Destination 填127.0.0.1:3306,点 Add。连上后访问本机 3307 就等于访问服务器上的 MySQL,适合安全连数据库 / 内网管理后台。 - 动态转发:同一面板选
Dynamic,填本地端口(如 1080),Add 后就是一个 SOCKS 代理。 - 防闲置断线:
Connection面板把 Seconds between keepalives 设为 30~60。路由器 / 防火墙常会清掉长时间无数据的连接,心跳包能显著减少「挂一会儿就断」。 - 留日志:
Session → Logging可把终端输出存成文件,排查问题、留操作记录很方便。
8. 命令行与配套工具
:: 直接连(可做成快捷方式)
putty.exe -ssh root@192.168.1.10 -P 22
:: 加载已保存的会话
putty.exe -load "生产服务器-Web01"
:: Plink 执行一条远程命令
plink.exe -ssh root@example.com -pwfile D:\secure\pw.txt "uptime"
:: PSCP 上传 / 下载文件
pscp.exe D:\backup.zip root@example.com:/tmp/
pscp.exe root@example.com:/var/log/app.log D:\logs\
-load后面是会话名,含空格要加双引号;直接用@会话名的老写法已不推荐。- 命令行里不要用
-pw明文写密码(会出现在进程列表里),用-pwfile指向存放密码的文件,或直接用密钥认证。 - PSCP / PSFTP / Plink 都可以用会话名代替主机名,从而复用 PuTTY 里配好的密钥、代理等设置。
- 自动化脚本若被主机密钥确认弹窗卡住,正确做法是提前把主机密钥写入缓存或用
-hostkey指定指纹,而不是关掉校验。 - 需要图形化传文件、目录同步时,配合 WinSCP 更顺手,它能直接读取 PuTTY 保存的会话和 Pageant 里的密钥。
9. 常见问题
| 现象 | 处理办法 |
|---|---|
Network error: Connection refused |
服务器 SSH 服务没启 / 端口不对,或防火墙、云安全组没放行 22 端口 |
Network error: Connection timed out |
IP 写错、服务器关机、中间网络或安全组拦截;先 ping 与 telnet 端口排查 |
| 中文显示乱码 / 方块 | Translation 里把 Remote character set 设为 UTF-8,并换支持中文的等宽字体;同时确认服务器 LANG |
| 输密码没反应 | 正常现象,PuTTY 不回显密码也不显示星号,输完直接回车 |
| 空闲一会儿自动断开 | Connection 面板设置 keepalives 为 30~60 秒 |
| Ctrl+C 把程序停掉了 | PuTTY 里 Ctrl+C 是发给服务器中断进程;复制请左键拖选、粘贴用右键 |
| 密钥登录失败 | 确认私钥是 .ppk 格式、路径在 SSH → Auth → Credentials,公钥已正确写入 authorized_keys 且权限为 600 |
| 提示主机密钥已变更 | 先确认是否重装 / 更换过服务器;无法确认时不要直接接受,先联系服务器管理员核对指纹 |
| 换电脑后会话没了 | 会话存在注册表,可用 regedit 导出 HKCU\Software\SimonTatham\PuTTY\Sessions 再导入新机 |
五、下载地址
- GitHub(PuTTY 中文版仓库,第三方维护):https://github.com/larryli/PuTTY | Releases 页面
- GitHub(官方源码的镜像仓库,仅源码 / 版本标签):https://github.com/github/putty
- 官方 Git 源码仓库:
https://git.tartarus.org/simon/putty.git - 官方下载页(推荐,含 MSI 安装包 / 便携 zip / 各独立 exe / 源码 / 签名校验):https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
- PuTTY 官网:https://www.chiark.greenend.org.uk/~sgtatham/putty/
- 官方短域名入口(2025 年 8 月由 PuTTY 团队注册,未来可能成为主站):https://putty.software/
- 百度网盘下载:https://pan.baidu.com/s/1r8pAui9YiWlUQrTyawYppQ 提取码:
zj1y
关于 GitHub 地址需要说明:PuTTY 官方项目并不把 GitHub 作为发布渠道,官方源码托管在自己的 git.tartarus.org,编译好的 Windows 安装包只在官网下载页与 Microsoft Store 提供。GitHub 上的
github/putty是官方源码的旧镜像(更新滞后,仅供源码参考),larryli/PuTTY则是第三方维护的中文版(puttycn 项目,MIT 许可,带简体中文界面)。想要官方原版安装包请走官网下载页;网络访问不畅时可用上面的百度网盘备用下载,下载后建议核对版本与文件校验值。
关于「PuTTY 官网」的一个常见误解:
https://putty.org/index.html看起来最像官网,但它并不是 PuTTY 官方网站。PuTTY 官方 FAQ 的 A.9.1 被直接问到「Is putty.org your website?」,答复是「No, it isn’t, and it never has been」,并写明真正的官网自项目创立以来一直是chiark.greenend.org.uk/~sgtatham/putty/。该域名现由第三方公司 Bitvise 持有(其页面 FAQ 自述「Bitvise is not affiliated with PuTTY」),页面主体是推广自家商业 SSH 客户端;页面上那个「Download PuTTY」按钮也只是转链到 chiark 官网,本站并不托管任何 PuTTY 安装包。官方还明确表示,不建议把这类第三方落地页当作便捷跳转入口。想要一个好记的官方短网址请用putty.software,不要从putty.org下载涉及服务器登录凭据的 SSH 客户端。
小结
PuTTY 的定位非常纯粹:一个几 MB 大小、绿色免费、二十多年如一日的 SSH 终端。它不像现代终端那样花哨,也默认没有标签页和多窗口管理,但胜在稳定、轻巧、无捆绑、安全设计扎实,而且 PuTTYgen / Pageant / PSCP / PSFTP / Plink 这一整套工具能覆盖从登录、密钥管理到文件传输、脚本自动化的完整链路。
日常连服务器,建议按这个顺序上手:官网下 64 位 MSI → 保存会话 → 用 PuTTYgen 配好密钥登录 → 把字体和 UTF-8 调好 → 设置 keepalives。需要图形化传文件再配一个 WinSCP,基本就够用了。另外,0.85 与 0.84 修复了多项可被远程触发的安全问题,还在用 0.82 及更早版本的话,建议尽快升级。













暂无评论内容