使用HTTPS访问私有仓库的Git权限

54

我想使用HTTPS协议克隆一个我有访问权限的私有仓库,因为只有出站流量是被允许的。

git没有要求输入密码,直接失败了。

error: The requested URL returned error: 403 Forbidden while accessing https://github.com/blah/blahblah.git/info/refs

我缺少了什么?


2
你是如何克隆这个项目的? - Abimaran Kugathasan
6个回答

93
你是否尝试在克隆URL中插入用户名(和可选密码)?
 git clone https://username@github.com/blah/blahblah.git

或者如果您接受将密码以明文形式存储的后果:

 git clone https://username:password@github.com/blah/blahblah.git

参考以下帖子,其中有许多有用的信息:

如何在运行“git clone git@remote.git”时提供用户名和密码?

编辑:我的原始答案只是一个快速修复,没有理解问者的完整历史记录,并且它也可以无人值守地工作,但为了最佳安全实践,最好让Git存储您的密码。请参见@phpguru的答案:https://dev59.com/Y2Ag5IYBdhLWcg3wE3jQ#29018371


2
谢谢,我以为 Git 会要求输入用户名和密码,但看起来我错了。 - Ask and Learn
值得注意的是,如果您启用了双因素身份验证,这将无法正常工作。 - Paul Calabro
注意:我需要生成一个新的PAT。我使用了第一个选项。 - DanielBell99

40

@mrjoltcola的答案应该可以使用,但如果您不想将github密码以明文形式放在服务器的bash_history中,则可以省略密码并提示输入:

git clone https://username@github.com/organizationname/reponame.git
Password:

我更喜欢那个。


1
这是做法。 - Buttle Butkus

6
如果您正在使用双重身份验证,首先请访问此链接:

https://github.com/settings/tokens

创建一个令牌,然后将其用作密码:
git clone https://username:token@github.com/blah/blahblah.git

2

当我在Linux、macOS或Unix上使用HTTPS连接到AWS CodeCommit存储库时,我遇到了相同的错误。

我需要使用以下命令启用Git凭证UseHttpPath。 git config --global credential.UseHttpPath true


0

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接