代码之家  ›  专栏  ›  技术社区  ›  Anthony

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

  •  1
  • Anthony  · 技术社区  · 15 年前

    因此,我需要通过UNIX服务器的Windows身份验证连接到MSSQL服务器。障碍如下:

    1. db admin创建了一个服务帐户,但只使用windows auth,这意味着我无法将用户名和密码直接传递给服务器进行连接。

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

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

    4. 我在我的个人电脑上有一个类似的设置,但是打开了安全连接,但是由于我被防火墙了,我无法以这种方式连接。

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

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

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

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

    1 回复  |  直到 15 年前
        1
  •  0
  •   wimvds    15 年前

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

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

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