在 Mac 上,通过 https 进行 git 克隆无法进行身份验证

sys*_*rpl 9 git macos osx-mavericks

在带有 Mavericks 的 mac mini 上,当我尝试从私有 git 服务器进行 git 克隆时,我遇到了身份验证问题。我已经使用同一台服务器在 Windows 和 Ubuntu 上安装和配置了几次 git,以前没有遇到过此类问题。我不知道下一步该尝试什么。

症状:

git clone https://username@git.example.com:8448/git/libs/project.git
Cloning into 'project' ...
Password for 'https://username@git.example.com:8448': [1] note
fatal: Authentication failed for 'https://username@git.example.com:8448/git/libs/project.git'
Run Code Online (Sandbox Code Playgroud)

[1] 在其他系统上我没有被要求这样做。我相信我已经将 git 客户端配置为不要求输入密码。我没有提供密码,无法出现此提示

我的 ~/.gitconfig 中有这个:

[http]
        sslKey = /Users/macuser/auth/username.key
        sslCert = /Users/macuser/auth/username.pem
        sslVerify = false
[user]
        name = username
        email = username@example.com
Run Code Online (Sandbox Code Playgroud)

我在设置客户端证书时收到以下文件,并将其放置在名为 ~/auth 的文件夹中:

用户名.cer
用户名.p12
用户名.pem
ca.cer

我运行此命令来生成密钥文件:

openssl rsa -in /Users/macuser/auth/username.pem -out /Users/macuser/auth/username.key
Run Code Online (Sandbox Code Playgroud)

然后我运行 git config 命令,例如:

git config --global http.sslKey /Users/macuser/auth/username.key
git config --global http.sslCert /Users/macuser/auth/username.pem
git config --global http.sslVerify false
Run Code Online (Sandbox Code Playgroud)

像上面的步骤一样配置 git 后,在其他系统上,当我执行“git clone https”时,它就可以工作了。在安装了 Xcode 命令行工具的 OS X Mavericks 上,git 无法进行身份验证。

我究竟做错了什么?

提前致谢。

编辑:

我想我应该添加这条信息。服务器正在使用自签名证书或来自无授权机构的证书。这就是我将 http.sslVerify 设置为 false 的原因。

以下是详细的克隆命令。Linux 和 Mac 上的设置相同,除了 auth 文件夹位置。Linux 版本成功,Mac 版本失败。

http://cache.codebot.org/stackoverflow/linux-git-works.txt
http://cache.codebot.org/stackoverflow/mac-git-fails.txt

回答:

sudo port install git-core
Run Code Online (Sandbox Code Playgroud)

use*_*420 6

当您尝试使用 git clone 时,如果提示输入密码,请在此处提供 git 个人访问令牌

这将解决问题。


sys*_*rpl 1

解决方案是使用 git 的 macports 版本,而不是使用 Xcode 命令行工具附带的版本。

sudo port install git-core
Run Code Online (Sandbox Code Playgroud)


归档时间:

查看次数:

32281 次

最近记录:

2 年,4 月 前