<- All articles
网络与安全2 min read

PuTTY创建内网代理隧道

以 PuTTY 图形界面为例,逐步配置目标会话、动态转发端口和 PPK 私钥,建立可长期保持的 SSH 代理隧道。

PuTTY 创建内网代理隧道文章封面

背景介绍

PuTTY对Telnet、SSH、rlogin、纯TCP以及串行接口建立连接的软件。早期仅支持windows平台,最近逐渐开始支持其它平台

我们在使用ssh命令行来创建代理隧道时,通常会因为时不时的断开连接而头疼,而PuTTY则可以为我们提供一个稳定创建ssh代理隧道的方案

使用

首先打开PuTTY,我们在名为Session的Tab栏填写目标服务器的IP地址和端口号,如下图所示

PuTTY Session 中填写目标服务器地址和端口
填写目标服务器地址,并可保存会话配置。

点击左侧Connection-SSH-TunnelsTab栏加入我们想要代理的端口号,并选择自己想要的端口类型点击Add加入,如下图所示

PuTTY Tunnels 中配置动态转发端口
填写 7070 端口,选择 Dynamic 和 Auto 后添加转发。

点击Add之后,会在上方的输入框中出现一个D7070的标识如下图所示

PuTTY 已添加 D7070 动态转发配置
动态转发 D7070 已加入 PuTTY 配置。

现在,我们点击open即可输入账号密码连接了

使用私钥登录

服务器使用账号密码来登录连接是一个不太安全的行为,因此我们也时常将服务器设置为密钥登录。因此在使用PuTTY来创建代理隧道也会遇上这样的问题,如何使用我们本地的私钥来验证登录远程服务器

首先我们打开PuTTYgen,点击load按钮,格式选择All File,找到我们的私钥文件,点确定。PuTTYgen会自动识别读取我们的私钥如下图所示

PuTTYgen 加载并识别 SSH 私钥
在 PuTTYgen 中加载并转换 SSH 私钥。

在下方Parameters选择我们私钥生成的格式,点击Generate,则会将私钥解析转换为PuTTY所能识别的ppk文件。点击Save private key则可以将其保存

再次回到PuTTY,我们找到Connection-SSH-AuthTab栏,最下方有Private key file for authentication这里就是我们选择私钥的地方,只需要将这里选择刚刚生成的.ppk文件,即可在创建远程连接的过程中使用我们的私钥进行登录。如下图所示:

PuTTY Auth 中选择 PPK 私钥文件
在 Auth 页面选择转换后的 PPK 私钥文件。