HTTPSのgitリポジトリを提供するサーバでSSLv3を無効にしたらgitコマンドでcloneができなくなった

HTTPSのgitリポジトリを提供するサーバでSSLv3を無効にしたらCentOS6のgitコマンドでcloneができなくなっていて、原因を突き止めるのに時間をかけてしまいました。

$ git clone https://example.jp/git/sample
error:  while accessing https://example.jp/git/sample/info/refs


結論としては、CentOSで提供されているgitコマンドが古いからでした。git-1.7.1-3.el6_4.1.x86_64でした。現時点で最新版のgitコマンド 2.1.3をダウンロードして使うようにしたら、利用できるようになりました。

gitをインストールするときに、asciidocとxmltoも必要だったのでインストール。gccなどの開発用のコマンドはすでにあるとします。

$ sudo yum install asciidoc
$ sudo yum install xmlto

次のようにして、ホームディレクトリのapp/gitへインストールしました。

$ git clone https://github.com/git/git 
$ cd git/
$ make configure
$ ./configure --prefix ${HOME}/app/git
$ make all doc
$ mkdir ~/app
$ make install install-doc install-html

動作確認は次のようにしました。GIT_SSL_NO_VERIFY=falseは自己認証局のサーバ証明書を使っているときに必要です。原因を突き止めるのにはGIT_CURL_VERBOSE=1と-vオプションの指定が有効でした。

$ export PATH=${HOME}/app/git/bin:$PATH
$ cd workspace/
$ GIT_SSL_NO_VERIFY=false git clone https://user001@example.jp/git/sample
$ GIT_SSL_NO_VERIFY=false GIT_CURL_VERBOSE=1 git clone -v https://example.jp/git/sample

結構な時間を費やしてしまいました。CentOS 6.6 になって、いろいろ影響があったり、-SSLv3対応があって動かなくなるものがたくさん出てきたりして、ちょっと大変です。

Gitは下記が参考になります。

同じタグの記事: CentOS
同じタグの記事: Git
同じタグの記事: Linux
同じカテゴリの記事: Linux
関連書籍: CentOS
関連書籍: Git