连接到需要通过代理进行Windows身份验证的防火墙MS-SQL服务器?

时间:2010-04-22 06:35:46

标签: php sql-server proxy windows-authentication vpn

所以我需要从Unix服务器通过Windows身份验证连接到mssql服务器。以下是障碍:

  1. 数据库管理员创建了一个服务帐户,但只使用了Windows-Auth,这意味着我无法将用户名和密码直接传递给要连接的服务器。

  2. 管理员还将我的主机服务器添加到防火墙,以便它只接受来自我的主机的请求。

  3. 我的主机服务器通过freetds / sybase-dblib启用了mssql,但默认设置为“secure-connections:Off”。

  4. 我的个人计算机上有类似的设置,但安全连接已打开,但由于我已经防火墙,我无法连接。

  5. 所以我想知道是否可以在我的主机上设置各种代理,以便我可以使用我的本地freeTDS库在我的个人计算机上启动连接,但请求传递给主机(将在我的梦想世界)不需要安全连接,但只是将请求传递给我的非防火墙主机,但使用正确的身份验证方法。

    如果有人不熟悉Windows身份验证的工作方式,那么它就是一种Kerberos身份验证,其中客户端计算机向远程服务器发出请求,以便永远不会实际发送凭据(因此不会被人员泄露-在中间)。所以我很怀疑这可以做到,因为在某种程度上我的主机必须做实际的工作。但是我想我会问,因为我对这些更深层次的机制并不完全清楚,因为我真的想让这件事发生。

    我想另一种看待它的方式是我想将我的主机用作一种VPN。

    此外,我正在与我的主机管理员一起寻找更长期的解决方案,但我需要尽快查看数据库,以便在问题得到解决后能够正常工作。

1 个答案:

答案 0 :(得分:0)

为什么不尝试SSH端口转发? IE浏览器。您连接到主机服务器,并告诉它将本地端口转发到SQL Server。然后使用localhost:port在本地计算机上连接,您的连接将通过主机服务器通过ssh进行隧道连接。

如果您的本地计算机是Windows计算机,则只需下载PuTTY并按照这些说明设置端口转发:http://www.cs.uu.nl/technical/services/ssh/putty/puttyfw.html

问题当然是你的Windows凭据是否会被传递,但理论上这应该有效:p。

相关问题