【问题标题】:How does Bitvise SSH Server authenticate user without a password?Bitvise SSH Server 如何在没有密码的情况下验证用户身份?
【发布时间】:2013-03-29 21:28:44
【问题描述】:

从 5.50 版开始,Bitvise SSH 服务器允许连接的客户端对 Windows 用户帐户进行身份验证,而无需提供该用户的 Windows 密码。见这里:https://www.bitvise.com/ssh-server-version-history

我自己检查过 - 确实如此。

我的问题纯粹是出于好奇:这是什么魔法?是否有任何允许此类事情的 WinAPI 或者这是某种巧妙的 hack?我一直认为没有密码就不可能冒充其他用户(因为即使将 Windows 服务或计划任务配置为“以用户身份运行”,也必须提供一个)。

【问题讨论】:

    标签: windows winapi authentication


    【解决方案1】:

    IIRC,Cygwin 中的 SSH 服务器做同样的事情。

    如果您有适当的权限,您可以使用 ZwCreateToken 创建访问令牌,无需密码。这样的令牌有一些限制。比如没有密码和some encrypted material isn't accessible就不能访问网络资源。

    有解释和some sample code here

    【讨论】:

      【解决方案2】:

      从 5.50 版开始,Bitvise SSH Server 带有一个 Windows 身份验证包。身份验证包可以以自定义方式增强 Windows 登录过程。当 SSH 服务器需要您登录,但没有密码(例如,因为您使用公钥登录)时,它会调用身份验证包来构造一个登录令牌,该登录令牌与您创建的登录令牌非常相似视窗。正如 arx 所指出的,以这种方式创建的会话不包含您的身份验证凭据,因此副作用是您无法访问网络资源和 EFS 等内容。

      【讨论】:

      • 任何关于此的文档链接?提前致谢。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-02-19
      • 1970-01-01
      • 2018-09-10
      • 2014-08-09
      • 1970-01-01
      • 2022-11-30
      • 2022-09-23
      相关资源
      最近更新 更多