所以我需要从Unix服务器通过Windows身份验证连接到mssql服务器。以下是障碍:
数据库管理员创建了一个服务帐户,但只使用了Windows-Auth,这意味着我无法将用户名和密码直接传递给要连接的服务器。
管理员还将我的主机服务器添加到防火墙,以便它只接受来自我的主机的请求。
我的主机服务器通过freetds / sybase-dblib启用了mssql,但默认设置为“secure-connections:Off”。
我的个人计算机上有类似的设置,但安全连接已打开,但由于我已经防火墙,我无法连接。
所以我想知道是否可以在我的主机上设置各种代理,以便我可以使用我的本地freeTDS库在我的个人计算机上启动连接,但请求传递给主机(将在我的梦想世界)不需要安全连接,但只是将请求传递给我的非防火墙主机,但使用正确的身份验证方法。
如果有人不熟悉Windows身份验证的工作方式,那么它就是一种Kerberos身份验证,其中客户端计算机向远程服务器发出请求,以便永远不会实际发送凭据(因此不会被人员泄露-在中间)。所以我很怀疑这可以做到,因为在某种程度上我的主机必须做实际的工作。但是我想我会问,因为我对这些更深层次的机制并不完全清楚,因为我真的想让这件事发生。
我想另一种看待它的方式是我想将我的主机用作一种VPN。
此外,我正在与我的主机管理员一起寻找更长期的解决方案,但我需要尽快查看数据库,以便在问题得到解决后能够正常工作。
答案 0 :(得分:0)
为什么不尝试SSH端口转发? IE浏览器。您连接到主机服务器,并告诉它将本地端口转发到SQL Server。然后使用localhost:port在本地计算机上连接,您的连接将通过主机服务器通过ssh进行隧道连接。
如果您的本地计算机是Windows计算机,则只需下载PuTTY并按照这些说明设置端口转发:http://www.cs.uu.nl/technical/services/ssh/putty/puttyfw.html。
问题当然是你的Windows凭据是否会被传递,但理论上这应该有效:p。