Can';t在Linux上通过HTTPS克隆github repo

Can';t在Linux上通过HTTPS克隆github repo,linux,git,github,Linux,Git,Github,我正在尝试做一个简单的git克隆https://github.com/org/project.git在CentOS机箱上,但获得: 错误:访问时请求的URL返回错误:401 致命:HTTP请求失败 它从不提示我输入用户名/密码,只是失败了 我可以在我的Mac电脑上打完全相同的电话没问题-我遗漏了什么?答案很简单,但不明显: 而不是: git clone https://github.com/org/project.git git clone https://username@github.c

我正在尝试做一个简单的
git克隆https://github.com/org/project.git
在CentOS机箱上,但获得:

错误:访问时请求的URL返回错误:401

致命:HTTP请求失败

它从不提示我输入用户名/密码,只是失败了


我可以在我的Mac电脑上打完全相同的电话没问题-我遗漏了什么?

答案很简单,但不明显:

而不是:

git clone https://github.com/org/project.git
git clone https://username@github.com/org/project.git
do:

git clone https://github.com/org/project.git
git clone https://username@github.com/org/project.git
或(不安全)

(请注意,在后一种情况下,通过运行
ps u-u$you
您的计算机上的其他用户可能会看到您的密码,并且默认情况下,密码将以明文形式显示在shell的历史记录中)

这三种方法在我的Mac电脑上都可以使用,但只有最后两种方法在远程Linux机器上可以使用。(回想起来,这可能是因为我在Mac电脑上设置了密码,而在遥控器上我没有设置密码?可能是这样,但没有提示输入用户名让我绊倒了……)


我在任何地方都没有看到这个文档,所以它就在这里。

这是这个问题最愚蠢的答案,但是。这一点让我明白了:)

您可以手动禁用ssl验证,然后重试。:)


确保您拥有git 1.7.10或更高版本,它现在会正确提示输入用户/密码。(您可以下载最新版本)

正如JERC所说,请确保您拥有git的更新版本。如果您只使用默认设置,当您尝试安装git时,您将获得1.7.1版。除了手动下载和安装最新版本的get外,您还可以通过向yum添加新的存储库来完成此操作

发件人:

下载并安装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附加功能。编辑
/etc/yum.repos.d/rpmforge.repo
并在
[rpmforge extras]
下将
enabled=0
更改为
enabled=1
。该文件如下所示:

### 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
来执行这些命令。

经过一段时间后,我才能够使用git 1.7.1

首先,我必须禁用SSL,这样我才能拉:

git config --global http.sslverify false
然后我就可以克隆了

git clone https://github.com/USERNAME/PROJECTNAME.git
然后在添加和提交之后,我无法回退。 所以我做了

要查看pull和push地址,请执行以下操作:

必须使用用户名对其进行修改@

git remote set-url origin https://USERNAME@github.com/USERNAME/PROJECTNAME.git
它仍然会提示您输入密码,您可以使用它添加密码

USERNAME:PASSWORD@github.....
但是不要这样做,因为你把你的密码保存在明文中,这样很容易被盗


我不得不这样做,因为由于防火墙的限制,我无法让SSH工作。

我遇到了同样的问题和错误。在我的例子中,是https_代理未设置。 设置https_代理环境变量修复了该问题

$ export https_proxy=https://<porxy_addres>:<proxy_port>

希望这对其他人有所帮助。

我必须指定用户名才能使用1.7.1 git版本:

git remote set-url origin https://username@github.com/org/project.git

我遇到了同样的问题,错误消息和操作系统信息如下

操作系统信息:

CentOS 6.5版(最终版)

Linux 192-168-30-213 2.6.32-431.el6.x86#u 64#1 SMP周五11月22日03:15:09 UTC 2013 x86_64 x86_64 GNU/Linux

错误信息:

已在/home/techops/pyenv/.Git中初始化空Git存储库/ 密码: 错误:访问时出错

致命:HTTP请求失败

git&curl版本信息

git信息: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—冗长

  • 即将连接()到github.com端口443(#0)
  • 正在尝试13.229.188.59。。。连接的
  • 连接到github.com(13.229.188.59)端口443(#0)
  • 使用certpath:sql:/etc/pki/nssdb初始化NSS
  • CAfile:/etc/pki/tls/certs/ca-bundle.crt 卡帕斯:没有
  • NSS错误-12190
  • TLS握手出错,正在尝试SSLv3。。。 GET/HTTP/1.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 主持人:github.com 接受:/

  • 连接已断开,正在重新尝试连接

  • 正在关闭连接#0
  • 向此URL发出另一个请求:“”
  • 即将连接()到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 卡帕斯:没有
  • NSS错误-12286
  • 正在关闭连接#0
  • SSL连接错误 curl:(35)SSL连接错误
在升级了curl、libcurl和nss之后,git clone又可以正常工作了,现在就是这样了。update命令如下所示

sudo yum更新-y nss curl libcurl


这是一个全新的云上完全开放的CentOS 6.3机箱-互联网接入不是problem@Yarin:我相信你已经读过了:我认为最后的办法是使用ssh。此外,您可能希望检查git配置的电子邮件。。。不确定它是否有用,但请确保它与您在github帐户中使用的帐户相对应。是的-这些都没有签出-从我的mac终端复制一个工作命令到linux终端-没有密码提示,只是从今天开始发出消息:“我们仍在努力缓解一个非常大的DDoS攻击。该网站现在可供一些用户使用,但我们将保持红色状态,直到我们确信该网站能够正常运行。“谁入侵了GitHub?真的吗?显然不是homakov,他承诺掌握而不是DDoS感谢您提到了
git config--global user.name
详细信息,
$ export https_proxy=https://my.proxy.company.com:8000
git remote set-url origin https://username@github.com/org/project.git