【问题标题】:Can WSL inherit windows auth credentialsWSL 可以继承 Windows 身份验证凭据吗
【发布时间】:2019-08-01 20:37:15
【问题描述】:

我在专门的 Windows 环境中使用 WSL,因为有许多工具仅适用于 Linux。我经常以编程方式连接到数据库,并且希望能够在不指定我的登录信息的情况下做到这一点。例如在 Python 通过 Windows 我可以这样做:

import pymssql

con = pymssql.connect(server, port)

并且该连接无需我指定任何凭据即可通过,因为我的 AD 帐户可以访问服务器,并且 pymssql 将在未指定凭据时使用 windows auth。

在 WSL 上运行的 python 中,但这不起作用,因此要建立相同的连接,我必须另外传递 userpassword 参数。

有什么方法可以让 WSL 在运行 Linux 进程时继承 windows 身份验证?

【问题讨论】:

标签: windows windows-10 windows-authentication windows-subsystem-for-linux


【解决方案1】:

我得到了你的家人!

这里是解决方案:http://michaeljw.com/blog/post/keyring-r-python-windows/

这是酱汁:

  1. 使用 Windows 凭据管理器存储您要使用的凭据

https://support.microsoft.com/en-us/windows/accessing-credential-manager-1b5c916a-6a16-889f-8581-fc16e8165ac0

  1. 这是在 Python 中访问凭据管理器的命令:

keyring.get_password(u"[域或 URI]", u"[用户名]")


只要用户在凭据管理器中,您就应该能够使用该命令来更改凭据。你可能需要稍微玩一下才能让它正确,但它会起作用。请务必阅读链接的文章。

享受

【讨论】:

  • 我不认为你在回答开发者使用 Win auth 的场景。 Win auth 的重点是您的域密码永远不能从任何应用程序或程序以明文形式访问。我们想使用我们的 AD 域凭据登录到 Windows,然后使用“Win auth”连接到所有内容,并且永远不要复制/粘贴明文密码(也不是密钥环)。 "Windows 凭据管理器" != "AD 或 Win 身份验证"
  • 如果是这种情况,我的评估是,出于某种原因,您用来拨打电话的会话不是您用来进行身份验证的会话。尝试使用调试例程,当您无法进行身份验证时,查看您正在拨打电话的人。也许这里的其他人将能够提供更好的答案。祝你好运。
猜你喜欢
  • 1970-01-01
  • 2010-12-08
  • 2018-03-25
  • 1970-01-01
  • 2013-04-11
  • 1970-01-01
  • 2015-02-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多