1

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

  1. db 管理员创建了一个服务帐户,但仅将其设置为 Windows-Auth,这意味着我无法将用户名和密码直接传递给服务器进行连接。

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

  3. 我的主机服务器通过 freetds/sybase-dblib 启用了 mssql,但仍设置了默认的“安全连接:关闭”。

  4. 我在我的个人机器上进行了类似的设置,但启用了安全连接,但我无法以这种方式连接,因为我有防火墙。

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

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

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

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

4

1 回答 1

0

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

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

问题当然是您的 Windows 凭据是否会通过,但理论上这应该有效:p。

于 2010-04-22T07:24:19.310 回答