使用私钥通过管理服务器进行PuTTY ssh隧道端口转发

使用私钥通过管理服务器进行PuTTY ssh隧道端口转发

我会尽量讲得详细一些。

我尝试连接到运行 ActiveMQ 的服务器,并希望将端口 8161 转发到本地机器上的端口 8162,以防止在我的计算机上运行 ActiveMQ 的本地实例时出现问题。

但是要访问 ActiveMQ 服务器,我必须首先连接到为我提供网络访问权限的管理服务器。

管理和 ActiveMQ 服务器上都有我的公钥,用于使用我的私钥在这些服务器上进行身份验证。

我使用 Pageant 是为了不必总是输入私钥的密码。

路径:本地计算机 -> 管理服务器 -> ActiveMQ 服务器

由于我必须以这种方式管理和监控许多其他服务器,因此我编写了一个批处理脚本,以便使用我的私钥直接访问所有这些服务器。因此,我自然希望使用脚本来执行此操作。另一方面,我的同事只是偶尔连接到其中一些服务器,并希望使用 GUI(在本例中为 PuTTY)来访问它们。

总结

通过跳转服务器 (SV_B) 将目标服务器 (SV_C) 上的端口 8161 转发到本地机器 (LM) 上的端口 8162,并使用私钥在 CLI 和 GUI 上使用 PuTTY 在 SV_B 和 SV_C 上进行身份验证。

LM:8162 -> SV_B -> SV_C:8161

更新

我让 GUI 部分工作了:

  • 会话:主机名/IP 地址 = [管理服务器];端口 = “22”
  • 连接->数据:自动登录用户名 = “root”
  • 连接->SSH:远程命令 = “ssh -L 8162:localhost:8161 [AMQ 服务器]”
  • 连接->SSH->Auth:允许代理转发
  • 连接->SSH->隧道:源端口 = 8162;目标 = localhost:8162

现在的问题是如何将其转换为可以在 putty.exe 脚本中使用的命令

答案1

好的,我终于让命令起作用了:

plink.exe -ssh -A -L 8162:localhost:8162 root@SV_B ssh -L localhost:8162:localhost:8161 root@SV_C

相关内容