Proxyガ導入されている職場の場合、git clone できない場合があります。
HTTPS経由でよいなら下記の記事の設定で行けるようになるかと思います。
WSL(Windows Subsystem for Linux)のProxy設定方法
Windows上でLinuxコマンドを使うためには、 MSYS2 などがありますよね。最近は別の選択肢として、MicrosftストアからLinuxをインストールできるようになりました。WSL(Windows Subsystem for Li...
しかし ssh で cloneした場合はこれではできません。
今回は Proxy 環境で ssh で git clone する方法を説明します。
プロクシ環境下のエラー
社内プロクシの環境でclone しようとすると下記のようにエラーる場合があります。
サーバにアクセスできない場合です。
$ git clone --verbose git://git.yoctoproject.org/poky.git Cloning into 'poky'... Looking up git.yoctoproject.org ... done. Connecting to git.yoctoproject.org (port 9418) ... fatal: unable to connect to git.yoctoproject.org: git.yoctoproject.org[0: 198.145.29.90]: errno=Connection timed out
corkscrew
上記の問題を解決するために、下記のツールを使います。
https://github.com/bryanpkc/corkscrew
インストールはUbuntuなら普通に apt でできます。
$ sudo apt-get install corkscrew
つぎにその corkscrew をラップするスクリプトを作成します。
どこでもいいのですが下記の例では ~/bin/ 以下につくっています。
proxy-host と proxy-port のところにはお使いの実際のプロクシのURL、ポートを指定してください。
$ echo '#!/bin/bash' > ~/bin/git-proxy.sh $ echo "/usr/bin/corkscrew proxy-host:proxy-port $1 $2" >> ~/bin/git-proxy.sh $ chmod +x ~/bin/git-proxy.sh $ cat ~/bin/git-proxy.sh #!/bin/bash /usr/bin/corkscrew proxy-host:proxy-port $1 $2
あとは GIT_PROXY_COMMAND 環境変数に上記スクリプトを設定し、
PATH変数にそのスクリプトのあるディレクトリを追加します。
下記のように bashrc に追加しておけばよいかと。
$ echo "export PATH=$PATH:~/bin" >> ~/.bashrc $ echo "export GIT_PROXY_COMMAND=~/bin/git-proxy.sh" >> ~/.bashrc $ tail ~/.bashrc -n2 export PATH=$PATH:~/bin export GIT_PROXY_COMMAND=~/bin/git-proxy.sh $ source ~/.bashrc
これで git clone できるようになったはずです。
まとめ
Proxy環境でgit clone する場合にはcorkscrewを使えばOKです。 GIT_PROXY_COMMAND を設定してください。
コメント