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连接错误
这是一个全新的云上完全开放的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