我正在尝试git clone https://github.com/org/project.git
在CentOS机器上做一个简单的操作,但是得到:
错误:访问https://github.com/org/project.git/info/refs时,请求的URL返回错误:401
致命:HTTP请求失败
它从不提示我输入用户名/密码,只是失败。
我可以在Mac上拨打完全相同的电话,没问题-我想念什么?
我正在尝试git clone https://github.com/org/project.git
在CentOS机器上做一个简单的操作,但是得到:
错误:访问https://github.com/org/project.git/info/refs时,请求的URL返回错误:401
致命:HTTP请求失败
它从不提示我输入用户名/密码,只是失败。
我可以在Mac上拨打完全相同的电话,没问题-我想念什么?
Answers:
答案很简单,但并不明显:
代替:
git clone https://github.com/org/project.git
做:
git clone https://username@github.com/org/project.git
或(不安全)
git clone https://username:password@github.com/org/project.git
(请注意,在后一种情况下,您的密码可能会被计算机上的其他用户通过运行看到,ps u -u $you
并且默认情况下会在您的Shell历史记录中显示为明文)
这3种方法都可以在Mac上使用,但只有最后2种方法可以在远程Linux上使用。(回想一下,这可能是因为我在Mac上设置了全局git用户名,而在远程机器上却没有?这可能是事实,但是缺少输入用户名的提示使我绊倒了。 )
在任何地方都没有看到此文档,所以在这里。
git config --global user.name
细节,仅此而已!
您可以手动禁用ssl verfiy,然后重试。:)
git config --global http.sslverify false
我遇到了同样的问题,错误消息和操作系统信息如下
操作系统信息:
CentOS版本6.5(最终版)
Linux 192-168-30-213 2.6.32-431.el6.x86_64#1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU / Linux
错误信息:
初始化/home/techops/pyenv/.git/中的空Git存储库密码:错误:访问https://waterdrops@github.com/pyenv/pyenv.git/info/refs时出错
致命:HTTP请求失败
git&curl版本信息
git info:git版本1.7.1
curl 7.19.7(x86_64-redhat-linux-gnu)libcurl / 7.19.7 NSS / 3.14.0.0 zlib / 1.2.3 libidn / 1.18 libssh2 / 1.4.2协议:tftp ftp telnet dict ldap ldaps http文件https ftps scp sftp功能:GSS协商IDN IPv6大文件NTLM SSL libz
调试
$ curl-详细https://github.com
- 即将connect()到github.com端口443(#0)
- 尝试连接13.229.188.59 ...
- 连接到github.com(13.229.188.59)端口443(#0)
- 使用certpath初始化NSS:sql:/ etc / pki / nssdb
- CAfile:/etc/pki/tls/certs/ca-bundle.crt CApath:无
- NSS错误-12190
TLS握手中的错误,正在尝试SSLv3 ... GET / HTTP / 1.1 User-Agent:curl / 7.19.7(x86_64-redhat-linux-gnu)libcurl / 7.19.7 NSS / 3.14.0.0 zlib / 1.2.3 libidn / 1.18 libssh2 / 1.4.2主机:github.com接受:/
连接已终止,请重新尝试重新连接
- 关闭连接#0
- 对此URL发出另一个请求:“ https://github.com ”
- 即将connect()到github.com端口443(#0)
- 尝试连接13.229.188.59 ...
- 连接到github.com(13.229.188.59)端口443(#0)
- 由于先前的握手失败,TLS被禁用
- CAfile:/etc/pki/tls/certs/ca-bundle.crt CApath:无
- NSS错误-12286
- 关闭连接#0
- SSL连接错误卷曲:(35)SSL连接错误
在升级curl,libcurl和nss之后,git clone再次可以正常工作,所以就在这里。更新命令如下
须藤百胜更新-y nss curl libcurl
正如JERC所说,请确保您具有git的更新版本。如果仅使用默认设置,则在尝试安装git时将获得版本1.7.1。除了手动下载和安装最新版本的get之外,您还可以通过向yum添加新的存储库来完成此操作。
来自tecadmin.net:
下载并安装rpmforge存储库:
# use this for 64-bit
rpm -i 'http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm'
# use this for 32-bit
rpm -i 'http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.i686.rpm'
# then run this in either case
rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt
然后,您需要启用rpmforge-extras。编辑/etc/yum.repos.d/rpmforge.repo
和更改enabled = 0
到enabled = 1
下[rpmforge-extras]
。该文件如下所示:
### Name: RPMforge RPM Repository for RHEL 6 - dag
### URL: http://rpmforge.net/
[rpmforge]
name = RHEL $releasever - RPMforge.net - dag
baseurl = http://apt.sw.be/redhat/el6/en/$basearch/rpmforge
mirrorlist = http://mirrorlist.repoforge.org/el6/mirrors-rpmforge
#mirrorlist = file:///etc/yum.repos.d/mirrors-rpmforge
enabled = 1
protect = 0
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag
gpgcheck = 1
[rpmforge-extras]
name = RHEL $releasever - RPMforge.net - extras
baseurl = http://apt.sw.be/redhat/el6/en/$basearch/extras
mirrorlist = http://mirrorlist.repoforge.org/el6/mirrors-rpmforge-extras
#mirrorlist = file:///etc/yum.repos.d/mirrors-rpmforge-extras
enabled = 0 ####### CHANGE THIS LINE TO "enabled = 1" #############
protect = 0
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag
gpgcheck = 1
[rpmforge-testing]
name = RHEL $releasever - RPMforge.net - testing
baseurl = http://apt.sw.be/redhat/el6/en/$basearch/testing
mirrorlist = http://mirrorlist.repoforge.org/el6/mirrors-rpmforge-testing
#mirrorlist = file:///etc/yum.repos.d/mirrors-rpmforge-testing
enabled = 0
protect = 0
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag
gpgcheck = 1
完成此操作后,您可以使用
yum update git
我不确定为什么,但是他们随后建议禁用rpmforge-extras(更改为enabled = 0
),然后再运行yum clean all
。
您很可能需要使用sudo
这些命令。
yum install --enablerepo=rpmforge-extras git
,然后删除了它!
一段时间后,我能够使用git 1.7.1进行工作。
首先,我必须禁用SSL才可以拉:
git config --global http.sslverify false
然后我可以克隆
git clone https://github.com/USERNAME/PROJECTNAME.git
然后添加并提交后,我无法退回。所以我做了
git remote -v
origin https://github.com/USERNAME/PROJECTNAME.git (fetch)
origin https://github.com/USERNAME/PROJECTNAME.git (push)
查看推拉地址:
这些必须使用USERNAME @进行修改
git remote set-url origin https://USERNAME@github.com/USERNAME/PROJECTNAME.git
仍然会提示您输入密码,您可以添加密码
USERNAME:PASSWORD@github.....
但是请不要这样做,因为您以明文形式保存了密码,以防盗窃。
由于防火墙限制,我无法使SSH正常运行,因此我必须进行这种组合。
这是这个问题最愚蠢的答案,但是请检查GitHub的状态。这个让我:)
我有同样的问题和错误。在我的情况下,未设置https_proxy。设置https_proxy环境变量可解决此问题。
$ export https_proxy=https://<porxy_addres>:<proxy_port>
例:
$ export https_proxy=https://my.proxy.company.com:8000
希望这对某人有帮助。