![通过 SSH 隧道连接到 SQL Server?](https://linux22.com/image/1520854/%E9%80%9A%E8%BF%87%20SSH%20%E9%9A%A7%E9%81%93%E8%BF%9E%E6%8E%A5%E5%88%B0%20SQL%20Server%EF%BC%9F.png)
首先我要说的是,我不熟悉 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 进行port
和hostport
,从而建立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 隧道。
- 在“rdp 机器”上运行 ssh 守护程序并在那里为“您”创建帐户。
- 运行 ssh -L 127.0.0.1:1433:dbmachine:1433 你@rdpmachine
这将使 ssh 隧道从your machine
到rdp machine
建立db machine
。隧道的一端是127.0.0.1:1433
,另一端是dbmachine:1433
。您可以将数据库客户端指向本地端口 1433 以访问远程数据库。