通过 SSH 隧道连接到 SQL Server?

通过 SSH 隧道连接到 SQL Server?

首先我要说的是,我不熟悉 SSH 和这类操作,所以我真的希望得到一个完整的解释来了解如何进行操作。我有一个想法,我可能能够以某种方式通过 SSH 隧道进入 SQL 服务器,但我不确定,也不知道从哪里开始。

我的情况是这样的:我有一个可以登录的 VPN,它允许我通过 RDP 进入一台机器,然后从那里我可以通过 RDP 进入 SQL 服务器,然后我就可以在 SQL 管理工作室中在该机器上工作。

所以我希望能够直接在我的计算机上进行开发,而不必经历这些麻烦,但我无法在 Management Studio 中登录数据库。是否可以设置一些东西来做我想做的事情?

答案1

您可以尝试使用 ssh 进行本地端口转发。

在本地机器上:ssh -L port:host:hostport user@RDPmachine

然后,在 RDP 计算机上:ssh -L port:host:hostport user@SQLserver

连接到您的本地机器然后将连接到 SQL 服务器。

例如,如果 SQL Server 正在监听 TCP/1433,则可以使用 1433 进行porthostport,从而建立127.0.0.1:1433与 RDP 计算机(端口 1433)的连接,后者将连接到 SQL 服务器(也是端口 1433)。

如果您没有可用的命令行 ssh,大多数 GUI ssh 客户端都可以配置为转发本地端口,但具体如何操作则取决于哪个客户端。

-Rich Alloway(RogueWave)

答案2

这不直接地回答您的问题,但如果您能够打开 VPN 连接,您可以将其粘贴到命令提示符中:

runas /netonly /user:DOMAIN\AccountName "C:\Program Files (x86)\Microsoft SQL Server\120\Tools\Binn\ManagementStudio\Ssms.exe"

(相应地调整您的路径 - 以上适用于 2014 版管理工作室)。如果我没有看错的话,您已经在本地安装了管理工作室,因此这应该适合您。

答案3

为此,请使用 ssh 隧道。

  1. 在“rdp 机器”上运行 ssh 守护程序并在那里为“您”创建帐户。
  2. 运行 ssh -L 127.0.0.1:1433:dbmachine:1433 你@rdpmachine

这将使 ssh 隧道从your machinerdp machine建立db machine。隧道的一端是127.0.0.1:1433,另一端是dbmachine:1433。您可以将数据库客户端指向本地端口 1433 以访问远程数据库。

相关内容