PuTTY是一款开源免费的 SSH 客户端,古老又小巧。
我一般使用 Windows Terminal 作为终端,PuTTY 主要开在后台,用作端口转发或代理。
基本配置
如果密钥是 .pem
的格式,需要转换为 PuTTY 自带的 .ppk
格式,即:
- 将
.pem
私钥放在C:\\Users\\<user name>\\.ssh
目录中。 - 打开 PuTTYgen,导入
.pem
。 - 选择 Save private key 保存为
.ppk
格式私钥。
PuTTY 的基本配置如下:
- 打开 Session,在 Host Name (or IP address) 处输入服务器 IP 和端口号。Connetion type 是 SSH。
- 打开 Connection > Data,在 Auto-login username 处输入登录用户名。
- 在 Connection > SSH > Auth > Credenitials > Private key file for authentication 处填入私钥的路径。
- 完成上述步骤后,回到 Session 中,在 Saved Sessions 处起一个名称然后保存。点击 Open 即可连接上服务器。
在使用过程中,如果 PuTTY 总是自动断开,需进行以下处理:
- 在 Connection > Seconds between keepalives (0 to turn off) 处,填写 60,使得每 60 秒向服务器发送一个空数据包确保连接不中断。
- 在 Connection 中勾选 Enable TCP keepalives (SO_KEEPALIVE option)。
❝TCP keepalive 允许计算机定期检查 TCP 连接是否仍然有效。如果已经断开,那么计算机将关闭 TCP 连接。❞
除了基本的配置外,还有一些个人习惯配置:
- Window > Appearance > Font settings > Font:
Consolas, 14-point
。 - Window > Behaviour > 选择 System menu appears on ALT-Space。
- 在 Window > Behaviour > Windows title 处输入终端名称。
配色方案借鉴自 Putty 主题配色方案。
导出 / 导入配置信息
上述 PuTTY 的配置可以导出,并加载到其他电脑里,以免重复配置。
- Win + R 并输入
regedit
,打开 Registry Editor。 - 找到下列路径:
Computer\HKEY_CURRENT_USER\SOFTWARE\SimonTatham\PuTTY\Sessions
- 右键需要保存的用户 > Export > 保存为
.reg
格式。 - 保存该配置文件,在其他电脑导入配置时,双击
.reg
文件即可。
端口转发和代理
使用 PuTTY 可以通过 SSH 的 Tunnels 进行本地转发,远程转发和 SOCKS5 代理。也即 ssh 中的 -L
, -R
和 -D
三种模式。
例如,我们有远程服务器 A 和 B,A 和 B 均为公网且位于同一网段下。但除了 A 服务器的 9999 端口是 ssh 端口被开放外,其余 A 和 B 端口全被阻塞。
现需要通过本地客户端访问 B 服务器的服务 (如端口号 6666),就需将本地电脑用 putty 的连接 服务器 A 的 ssh 端口,然后使用 -L 将其进行本地转发。
在 putty 中的配置如上图所示,这样就可以通过服务器 A 的 ssh 将服务器 B 的 6666 服务转发到客户端 localhost 的 6666 端口上。
❝Local ports accept connections from other hosts 项勾选后可以使得与客户端同一局域网的其他设备也可以访问到 6666 服务。❞
远程转发和本地转发流程基本相似,不同的是代理的方向发生了改变。
SOCKS5 代理比较简单,假设代理的端口是 7777,按照以下方式配置即可: