我使用的是 Mac OSX,并在 VMWare Fusion 上运行 Windows XP。我正在创建一个从 OSX 到远程服务器的 ssh 隧道,然后尝试让 Windows XP 使用该隧道(我实际上在 XP 上使用一个名为 Proxifier 的程序通过该隧道过滤我的 XP MS SQL Server 流量)
请注意,我可以成功创建一个 ssh 隧道(在端口9333) 从 XP putty 到远程主机,并通过该隧道让 SQL Server Proxify 一切正常工作。
但是,当我尝试在 OSX 中设置隧道,并让 XP 中的 Proxifier 指向 OSX 隧道而不是本地主机时,它似乎无法连接。这是我用来创建隧道的 OSX 命令:
ssh -i /my/key -p 9001 -D 9333 -g me@remotehostname
然后我将我的 XP 代理程序设置为指向macosxhostname:9333(而不是之前的本地主机:9333使用腻子时可以正常工作)
对我可能遗漏的内容有什么建议吗?设置时我的 XP 防火墙已关闭。
答案1
默认情况下,ssh -D portnum
仅侦听 Mac 的本地环回地址,这意味着除了 Mac 本身之外,无法从任何其他设备访问生成的代理(甚至无法从 Mac 上运行的 VM 访问)。您可以使用 告诉 ssh 侦听其所有 IP -D 0:9333
,或者(取决于 VM 的网络设置)在 Mac 和 VM 之间的虚拟网络上指定一个 IP(这意味着只能从 Mac 和 Windows VM 访问它)。