(相关问题:PuTTY configuration equivalent to OpenSSH ProxyCommand 但它是针对单个ppk / pem文件...我的问题略有不同。)
我正在尝试使用PuTTY与我的服务器建立SSH连接。这些服务器仅允许来自堡垒服务器(另一个特定服务器)的传入SSH连接。
使用Linux这对ssh命令来说没有问题...我已经在Linux中实现了这个......(〜/ .ssh / config)
HOST myprod-bastion
IdentityFile ~/.ssh/pemfile/myprod-bastion.pem
User bastion-user
Hostname X.X.X.X
HOST mywebserver
IdentityFile ~/.ssh/pemfile/myweserver.pem
User produser
Hostname 192.168.Y.Y
ProxyCommand ssh myprod-bastion -W %h:%p
从我的终端,我只需要执行以下命令:
ssh mywebserver
任何人都知道如何在PuTTY中使用这样的配置? 提前感谢您的帮助。 :)
答案 0 :(得分:3)
我不确定您是否仍然需要此答案。但是,由于我遇到了同样的问题,因此我将分享我的解决方案。
此站点为我提供了该方法的基础:(警告链接可能已损坏) https://www.math.ucla.edu/computing/kb/creating-ssh-proxy-tunnel-putty
我必须与PuTTY建立两个连接;一个用于堡垒,另一个用于其他盒子(mywebserver)。
创建与堡垒主机的连接,并根据您的设置指定主机名,端口和其他必要的信息。
然后在Connection > SSH > Tunnels
下,添加转发的端口。设置源端口(例如:31415
),然后记下该值。将类型设置为Dynamic
,然后选择Auto
。
PuTTY Setup for Forwarded Port
请确保将其另存为配置。
接下来,输入凭据以建立到另一个框(mywebserver)的连接。您需要在此处采取的其他步骤是通过代理将其连接到第一个配置。
在Connection > Proxy
下,选择代理服务器类型SOCKS 5
,将代理主机名设置为localhost,并将端口设置为与上一步中创建的端口相同(在本示例中:{{1 }})。其余设置可以保持不变。
现在,您需要做的是开始与堡垒主机的第一个连接,然后再与另一个盒子(mywebserver)建立连接。
答案 1 :(得分:1)
我遇到了完全相同的问题,您通过以下方式描述并解决了它(基于 (Martin Prikryll's answer 在您也引用的线程中)。 (有关此解决方案所需的 PuTTYgen、Pageant 或 plink 的详细信息,请参阅 PuTTY User Manual。所有工具都随附腻子。)
使用 PuTTYgen 将两个密钥转换为 PuTTY .ppk 文件格式 为此,您可以将 .pem 文件加载到 PuTTYgen 中并保存私钥。
启动 Pageant 并添加 bastion-user@myprod-bastion 的私有 .ppk 密钥。
在 PuTTY GUI 中配置会话参数。
在标签中
在您的情况下,您可以将“代理主机名”、“端口”和“用户名”字段留空,并且不需要密码,因为您提供了私钥。 “本地代理命令”字段中的完整命令是:
plink -ssh bastion-user@X.X.X.X -P YYY -batch -agent -nc %host:%port
参数说明:
你可以从命令行开始你的会话,非常类似于 *nix
plink mywebserver