CentOSボックスで簡単なgit clone https://github.com/org/project.git
を実行しようとしていますが、次のようになります:
エラー:要求されたURLは、アクセス中にエラーを返しました: https://github.com/org/project.git/info/refs
致命的:HTTP要求が失敗しました
ユーザー名/パスワードの入力を求められることはなく、失敗します。
Macでまったく同じ呼び出しを問題なく行うことができます。何が欠けていますか?
答えは簡単でしたが、明らかではありませんでした。
代わりに:
git clone https://github.com/org/project.git
do:
git clone https://[email protected]/org/project.git
または(安全でない)
git clone https://username:[email protected]/org/project.git
(後者の場合、パスワードはps u -u $you
を実行することでマシン上の他のユーザーに表示され、デフォルトではシェルの履歴にクリアテキストで表示されることに注意してください)
3つの方法はすべて私のMacで動作しますが、最後の2つの方法だけがリモートLinuxボックスで動作しました。 (これを考えると、おそらく、私は グローバルgitユーザー名 をMacにセットアップしていたのに対して、リモートボックスではそうしなかったのでしょうか?ユーザー名が私をつまずかせました...)
これはどこにも文書化されていないので、ここにあります。
Ssl verifyを手動で無効にして、再試行できます。 :)
git config --global http.sslverify false
Git 1.7.10以降を使用していることを確認してください。ユーザー/パスワードを正しく入力するように求められます。 (最新バージョンをダウンロードできます こちら )
1.7.1 gitバージョンで動作するようにユーザー名を指定する必要がありました。
git remote set-url Origin https://[email protected]/org/project.git
私は同じ問題に遭遇しました、エラーメッセージとOS情報は次のとおりです
OS情報:
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://[email protected]/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 file https ftps scp sftp機能:GSS-Negotiate IDN IPv6 Largefile NTLM SSL libz
デバッグ
$ curl --verbose https://github.com
- Github.comポート443(#0)にconnect()しようとしています
- 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 Accept:/
接続が終了し、新しい接続を再試行しました
- 接続を閉じる#0
- 次のURLに別のリクエストを発行します: ' https://github.com '
- Github.comポート443(#0)にconnect()しようとしています
- 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接続エラーcurl:(35)SSL接続エラー
curl、libcurl、およびnssをアップグレードした後、git cloneが再び正常に機能するので、ここにあります。更新コマンドは次のとおりです
Sudo yum update -y nss curl libcurl
しばらくしてから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://[email protected]/USERNAME/PROJECTNAME.git
パスワードの入力を求められますが、パスワードを追加できます
USERNAME:PASSWORD@github.....
ただし、盗難を防ぐためにパスワードを平文で保存するので、そうしないでください。
ファイアウォールの制限のためにSSHを動作させることができなかったため、この組み合わせを行う必要がありました。
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
これを実行したら、gitを更新できます
yum update git
なぜかはわかりませんが、rpmforge-extrasを無効にして(enabled = 0
に戻す)、yum clean all
を実行することを提案します。
ほとんどの場合、これらのコマンドにはSudo
を使用する必要があります。
これはこの質問に対する最も愚かな答えですが、 GitHubのステータスを確認してください 。これは私を手に入れました:)
同じ問題とエラーがありました。私の場合は、https_proxyが設定されていませんでした。 https_proxy環境変数を設定すると、問題が修正されました。
$ export https_proxy=https://<porxy_addres>:<proxy_port>
例:
$ export https_proxy=https://my.proxy.company.com:8000
これが誰かを助けることを願っています。