gitでclone、push、pull をしようとしたとき、
以下のような問題が発生することがあります。
- ネットワーク的にリモートリポジトリに到達できない
- リモートリポジトリの対応しているプロトコルが、クライアントの対応しているプロトコルと合わない(sshのバージョンが違う、sslのバージョンが違う)
エラーの例
$ git clone ssh://xxx/xxx Cloning into 'bs-ohkenhouse-system'… no kex alg fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.
クライアント側がCentOS5など、環境が古すぎて、今どきのgitリポジトリにアクセスできないときは、プロキシを経由してアクセスさせることができます。
プロキシはSquidなどでどこかに立てるとよいでしょう。
gitクライアント側で、プロキシを経由するように設定するには、以下のようにします。
$git config --global http.proxy http://proxy.example.com:8080
$git config --global https.proxy http://proxy.example.com:8080
これによって、ホームディレクトリにある ~/.gitconfigに下記が追加されます。
[http]
proxy = http://proxy.example.com:8080
[https]
proxy = http://proxy.example.com:8080