douliang4858 2010-04-22 06:35
浏览 72
已采纳

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

So I need to connect to a mssql server via Windows Authentication from a Unix server. Here are the obstacles:

  1. The db admin created a service account but made it Windows-Auth only, meaning I can't pass the username and password directly to the server to connect.

  2. The admin also added my host's server to the firewall so that it would only accept requests from my host machine.

  3. My host server has mssql enabled via freetds/sybase-dblib, but has the default 'secure-connections: Off' still set.

  4. I have a similar set up on my personal machine, but with secure-connections on, but I can't connect that way since I'm firewalled.

So I'm wondering if it's possible to set up a proxy of sorts on my host so that I can start the connection on my personal machine using my local freeTDS library, but have the request pass to the host which would (in my dream world) not require secure connections to be on but simply would pass the request along so that it came from my non-firewalled host but using the correct authentication method.

If anyone is not familiar with how Windows-Authentication works, it's a type of Kerberos authentication where the client machine makes the request to the remote server so that credentials are never actually sent (and thus can't be compromised by a man-in-the-middle). So I'm very doubtful that this can be done, since at some level my host machine has to do the actual work. But i thought I'd ask since I'm not totally clear on the deeper mechanics and because I really want to get this to happen.

I guess another way of looking at it is I want to use my host as a kind of VPN.

Also, I am working with my host admins to find a more long-term solution but I need to see the database as soon as possible so I can have something working when the problem gets fixed.

  • 写回答

1条回答 默认 最新

  • duanhuangyun3887 2010-04-22 07:24
    关注

    Why don't you try SSH port forwarding? Ie. you connect to your host server, and tell it to forward a local port to the sql server. Then you connect on your local machine using localhost:port and your connection will be tunneled over ssh through your host server.

    If your local machine is a Windows machine then just download PuTTY and follow these instructions to set up port forwarding : http://www.cs.uu.nl/technical/services/ssh/putty/puttyfw.html.

    The question is of course whether your Windows credentials will be passed, but in theory this should work :p.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥50 随机森林与房贷信用风险模型
  • ¥50 buildozer打包kivy app失败
  • ¥30 在vs2022里运行python代码
  • ¥15 不同尺寸货物如何寻找合适的包装箱型谱
  • ¥15 求解 yolo算法问题
  • ¥15 虚拟机打包apk出现错误
  • ¥15 用visual studi code完成html页面
  • ¥15 聚类分析或者python进行数据分析
  • ¥15 三菱伺服电机按启动按钮有使能但不动作
  • ¥15 js,页面2返回页面1时定位进入的设备