我家里有 Linux 服务器,SSH 总是可以用来绕过稍微有点过于严格的防火墙。然而在工作中,我们处理的所有服务器都是基于 Windows 的。
我需要连接到在 Windows 2008 服务器上运行的 SQL Server 2000 实例。该服务器位于防火墙后面,防火墙似乎阻止了除远程桌面之外的所有传入端口。应该有一个 VPN,但由于某种原因它已经失效,并且根据我们最终访问远程桌面的速度来判断,可能还需要几周时间我们才能在防火墙中设置例外或将用户添加到 VPN。
所以现在我正在寻找一个快速解决方案来解决这个问题。最好的解决方法是什么?
此外,我们用于连接服务器的计算机运行的是 Windows 7。我们有服务器的管理员权限,但我们不想永久安装任何东西
答案1
使用远程桌面有什么问题?您还想实现什么?您说您从 Windows 7 客户端进入 Windows 2008 服务器,并且可以使用远程桌面。我不明白问题所在。可以使用适当的巫术配置远程桌面服务器,以便您从家中的客户端中选择不同的内部服务器。您的防火墙系统管理员将控制这一点。
Vandyke Software 有一款适用于 Windows Server 的可靠 SSH 服务器产品。它不是免费的,但很好用。除了防火墙之外,您还可以从 Putty 或任何 SSH 客户端进行连接,并进行端口转发。 http://www.vandyke.com/products/vshell/
总是有 gotomypc.com 或类似的网站。
假设允许 SSH 出站,那么这样怎么样:
以管理员身份在服务器上运行 putty.exe,并将远程端口转发配置为家庭 Linux SSH 服务器连接配置文件的一部分。如果您在 Win2008 上安装了 NitroxDM,则这是等效的 OpenSSH 命令:
[root@sqlserver]# ssh -R 5005:127.0.0.1:1433 [email protected]
来自putty 文档:
You can also forward ports in the other direction: arrange for a particular port number on the server machine to be forwarded back to your PC as a connection to a service on your PC or near it. To do this, just select the ‘Remote’ radio button instead of the ‘Local’ one. The ‘Source port’ box will now specify a port number on the server (note that most servers will not allow you to use port numbers under 1024 for this purpose).
如果您以管理员身份运行 Putty,理论上应该可以。它在 Linux 中以 root 身份运行,因此值得一试。
让它运行。回家后,从 Windows 7 笔记本电脑上的 SQL 控制台连接到家用 Linux 机器,我们现在将其视为您自己的个人黑客 gotomypc.com 服务器。该 Linux 机器现在正在监听 TCP 端口 5005,并且与该端口的连接将通过 Putty 向后转发到 Win2008 上的端口 1433 (SQL)。配置您的 SQL 工具或命令行等,以连接到 mylinux.athome.com:5005,看看会发生什么。
答案2
OpenSSH在 Windows 中可用自 Windows 10 和 Windows Server 2019 起。
答案3
我在 Windows 上使用 OpenSSH。但我认为这不会解决您的问题。一旦您启动并运行 ssh,您就无法在不切断远程桌面的情况下切换到开放的防火墙端口。
听起来你得等 VPN 了。或者将数据(我假设这就是你连接的原因)导出到本地服务器。
祝你好运。