PuTTY 中文介绍与使用教程:Windows 下免费开源的 SSH 客户端

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(会话) 面板按下面填:

  1. Host Name(or IP address):服务器 IP 或域名,例如 192.168.1.10 或 example.com;也可直接写 root@example.com 带上用户名。
  2. Port:SSH 默认 22,一般不用改;服务器改了非标准端口才需要手填。
  3. Connection type:选 SSH。选 Serial 时上面两项会变成串口号与波特率,适合调试交换机、路由器、开发板。
  4. 在 Saved Sessions 输入一个好记的名字(如「生产服务器-Web01」),点 Save 保存,以后双击即可连接。
  5. 点 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 密钥登录(推荐)

  1. 打开 PuTTYgen,底部选 Ed25519(或 RSA 4096),点 Generate,按提示在空白处晃动鼠标生成随机性。
  2. 可设置一个 Key passphrase(私钥口令);点 Save private key 存成 .ppk 文件,妥善保管、不要外传。
  3. 把窗口上方 Public key for pasting into OpenSSH authorized_keys file 文本框里的整段公钥复制下来,追加到服务器 ~/.ssh/authorized_keys 中(注意目录权限 700、文件 600)。
  4. 回到 PuTTY,加载会话 → Connection → SSH → Auth → Credentials → Private key file for authentication 选刚才的 .ppk(0.78 版起这个选项移到了 Credentials 子面板,很多老教程写的是旧位置)。
  5. 回到 Session 面板 Save 保存,再 Open 连接,输入私钥口令即可登录。
  6. 不想每次输口令:运行 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 官方项目并不把 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 及更早版本的话,建议尽快升级。

© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容