07 Sep 2009

メモ: proxy越しにgithubに接続する 【追記あり】

基本的にはオフィシャルからリンクされているガイドに従います。

Dealing with firewalls and proxies - Guides - GitHub

その中でも、今回はこちらを参考にしました。

Linux....: Why I love GIT and GITHUB..:)

この中の、ルートになれる人向けの方法のほうです。また、こちらの記事に書いてない注意点として、

  • corkscrewはportからインストールできる
  • corkscrewのコマンド(.ssh/config と .ssh/proxy_cmd_for_github に書くやつ)は、port番号の前にホスト名をつける。
    • ex.: corkscrew your.proxy.host 8080 %h %p ~/.ssh/proxyauth
  • オフィシャルのヘルプにあるssh keyのインストラクションに従ってssh keyを作った場合、プライベートキー(記事では.ssh/github となっている)はid_rsa

追記

こちらの記事に従って設定し直しました。

Return Boolean True: Using Github Through Draconian Proxies (Windows And Unix)

~/.ssh/config の中身は、

ProxyCommand /usr/bin/corkscrew proxy.example.com 443 %h %p ~/.ssh/myauth

Host github.com
User git
Port 22
Hostname github.com
IdentityFile "/media/truecrypt1/Keys/GitHubKey.private"
TCPKeepAlive yes
IdentitiesOnly yes

Host ssh.github.com
User git
Port 443
Hostname ssh.github.com
IdentityFile "/media/truecrypt1/Keys/GitHubKey.private"
TCPKeepAlive yes
IdentitiesOnly yes

あと手順をわすれかけているので、もう一度流れをまとめると。

  • corkscrewをインストールする
  • 上記の記事などを参考に、~/.ssh/config を設定する
  • githubのssh keyの設定がまだなら、それも行う。参考資料はオフィシャルのヘルプ。
  • git remote add overproxy ssh://git@github.com:22/username/repo_name.git などとして、プロクシ用のリモーレポジトリを登録する。
    • 普通は git@github.com:username/repo_name.git のところを、上記のようなフォーマットで書く
  • 以上で、git push overproxy master などとできるようになる。