SVN的原因和解决方案是什么:无法对服务器进行身份验证:拒绝基本挑战?

Lan*_*ler 24 svn authentication version-control basic-authentication

如果你在网上搜索,你会看到这个问题很多,但没有明确的答案.这是我的具体案例.

我在Mac上使用版本SVN客户端,但在使用命令行时遇到同样的问题.我有个人的回购凭证给别人的回购,它正在我的一台机器上工作,我在6个月前设置它.

我将我的.ssh文件夹从我的用户目录复制到另一台计算机,在该计算机上安装了版本,并通过登录凭据进行设置,只是它失败并显示以下消息:

授权失败:无法向服务器进行身份验证:已拒绝基本质询

repo的URL使用https,但我删除了's'并尝试了非安全的同样问题.然后我从我的其他计算机上删除了我的.ssh文件夹,同样的问题.其他人说这个错误与SVN试图使用基本身份验证(http)和失败有关.这对我没什么帮助,因为我不知道如何解决它.我的登录凭据很好,但是这个错误消息可能是我处理过的描述性最差和写得最差的消息之一.我怎么解决这个问题?

bah*_*rep 21

 authorization failed: Could not authenticate to server: rejected Basic
 challenge
Run Code Online (Sandbox Code Playgroud)

您获得的错误意味着SVN服务器(实际上是Apache HTTP Server)因拒绝凭据而拒绝对您进行身份验证.以下是解决错误的步骤:

  • 你收到密码了吗?您是否连续3次获得密码提示然后看到此错误?

    如果您这样做:第一个故障排除步骤是仔细检查输入的用户名和密码是否正确.用户名可以区分大小写!

    第二个故障排除步骤不像前一个那样明显; 更改AD帐户的密码后,您可能会遇到此问题.密码包含非ASCII符号(例如£,ü,ä等)时,基本身份验证失败.简而言之,Basic auth不支持密码中的非ASCII字符.

  • 您没有得到密码提示,它只是失败并出现错误authorization failed: Could not authenticate to server: rejected Basic challenge.

    尝试验证强制您的凭据是有意义的,例如使用命令行:

    svn info --username USERNAME --password PASSWORD --no-auth-cache https://server/svn/repository/

    --username ARG:指定用户名ARG

    --password ARG:指定密码ARG

    --no-auth-cache:不缓存身份验证令牌

    如果您可以使用此命令行成功进行身份验证,则应清除缓存的凭据.见SVNBook | 客户端凭据以获取详细信息.但是,某些GUI客户端允许您通过几次单击清除缓存.