我想弄清楚为什么安装在 Ubuntu 12.04 桌面上的 KeePass2 在访问受密码保护的 WebDAV 服务器(托管在 IIS 上)时不断出现错误 401(未经授权)。
Firefox 可以使用我的凭据进行连接。KeePass 无法使用相同的凭据进行连接,会产生 401 未授权错误。尝试使用“连接到服务器”选项进行连接也会产生 401 未授权错误。
我尝试过连接 user@domain、domain\user,[电子邮件保护]、fqdn.domain\user、\user、.\user、user。Firefox 使用标准“用户”和密码方法即可正常工作。
2014-04-03 21:31:32 10.xxx.zzz.yyy GET /webdav/ourpasswordfile.kdbx - 80 - 10.xxx.zzz.aaa - - 401 2 5 0
我注意到 Firefox 似乎也会产生 401 错误,但第二个请求会生成带有用户名的日志条目。
2014-04-03 21:22:31 10.xxx.zzz.yyy GET /webdav/ourpasswordfile.kdbx - 80 - 10.xxx.zzz.aa Mozilla/5.0+(X11;+Ubuntu;+Linux+x86_64;+rv:26.0)+Gecko/20100101+Firefox/26.0 - 401 2 5 1272
2014-04-03 21:22:38 10.xxx.zzz.yyy GET /webdav/ourpasswordfile.kdbx - 80 domain\user 10.xxx.zzz.aaa Mozilla/5.0+(X11;+Ubuntu;+Linux+x86_64;+rv:26.0)+Gecko/20100101+Firefox/26.0 - 200 0 0 361
知道如何才能让我们的 Linux 朋友连接起来吗?我是否缺少 IIS 中的设置,或者缺少其他设置?
我们有一个用户组,它对 webdav 文件夹以及 IIS_IUSRS 具有修改权限。连接的用户需要属于第一个组。
无论是否加入域,整个过程在 Windows 机器上运行良好。
答案1
我不确定这是否会直接有帮助,因为我已经在 Linux 上使用 apache 而不是在 Windows 上使用 IIS 实现了服务器。但是我已经让 keepass 客户端通过 DAV 从 Windows、Android 和 Linux 运行到该服务器,所以我想分享一下对我有用的方法。
我发现 keepass 客户端对 Basic 和 Digest Auth 非常挑剔。我最终让服务器在不同的 URL 前缀上提供这两种身份验证。我发现 Windows 客户端可以使用 Basic 身份验证,但 Linux 客户端可以使用 Digest 身份验证。
从您的日志来看,我怀疑下一个不是您的问题,但以防万一:如果您没有自签名或其他无效证书:请确保启用选项->高级->“接受无效的 SSL 证书”选项。
答案2
我知道这已经很老了,但我遇到了同样的问题并且设法解决了它,因此将其放在这里以供后人参考:)
在与 URL 同步页面上,单击进入高级,然后在常规部分下,将预认证从自动切换为否。
无论如何,这为我解决了这个问题!
答案3
我遇到了类似的问题 - 可以通过 Firefox 访问资源,但无法通过 KeePass 访问。但是,我在 KeyPass 中遇到了 404。对我来说,这个问题通过更新 KeePass 和单核细胞增多症至最新版本。